Ich habe eine Fehlermeldung, Objekt kann nicht umgewandelt werden, von DBNull in andere Typen?
Mein code ist :
Ich bin der Abruf der Daten fron-Datenbank, wenn ich das Tue, ist der Haltepunkt zeigen die Daten in der Liste,aber es ist auch mir ein Fehler
public static List<StudentScore> GetAllScore()
{
SqlConnection conn = MyDB.GetConnection();
string selectStm = "SELECT en.CourseID,en.Score,s.StudentID FROM EnrollmentTable en,Student s WHERE en.StudentID = s.StudentID";
SqlCommand command = new SqlCommand(selectStm, conn);
List<StudentScore> aStudentScore = new List<StudentScore>();
try
{
conn.Open();
SqlDataReader reader = command.ExecuteReader();
Console.WriteLine(reader.HasRows.ToString());
while (reader.Read())
{
StudentTable st = new StudentTable();
CourseTable cr = new CourseTable();
Enrollment enr = new Enrollment();
StudentScore score = new StudentScore();
enr.CourseData = cr;
enr.StudentData = st;
//score.EnrollmentData.StudentData.StudentID = reader["StudentID"].ToString();
//score.EnrollmentData.CourseData.CourseID = reader["CourseID"].ToString();
st.StudentID = reader["StudentID"].ToString();
cr.CourseID = reader["CourseID"].ToString();
score.Score = Convert.ToInt32(reader["Score"]);
score.EnrollmentData = enr;
aStudentScore.Add(score);
}
reader.Close();
return aStudentScore;
}
catch (SqlException ex)
{
throw ex;
}
finally
{
conn.Close();
}
}
}
}
Es dauert, Daten aus der Datenbank zeigen aber mw ein dieser Fehler.....Objekt kann nicht umgewandelt werden, von DBNull in andere Typen, so was es zu bedeuten bitte sagen Sie mir, wie es zu lösen ist?
- die code-Zeile geworfen Fehler?
Du musst angemeldet sein, um einen Kommentar abzugeben.
müssen Sie prüfen, ob der reader ist von Typ DBNULL
Call IsDBNull() auf den Leser zu prüfen, die Spalte, bevor Sie versuchen, es zu konvertieren:
Oder vergleichen gegen DBNull.Wert:
Es heißt, Sie haben eine
NULL
Wert in der Datenbank. Sie müssen überprüfen, ob es in den code, oder ändern Sie Ihre Spalten-schemas zuNOT NULL
.Müssen Sie sich mit der
null
Werte in C# - Objekte.DBNull verwendet wird, repräsentiert einen null-Wert in einer Datenbank.
Sollten Sie überprüfen, ob der Wert nicht DBNull vor dem Gießen ir.