Ich greife auf eine MS Access 2007-Datenbank über C# zu, und ich bekomme immer eine Ausnahme, wenn ich versuche, eine leere Zelle zu lesen.Überprüfen Sie, ob eine Datenbankzelle zuerst leer ist
Insbesondere versuche ich eine "Datum/Uhrzeit" -Zelle zu lesen, die leer sein kann oder nicht. Ich verwende OLE DB und habe ein DataSet gefüllt. Keine dieser Bedingungen funktioniert:
DataSet dataSet = GetDataSet();
DataRow row = dataSet.Tables[0].Rows[0];
DateTime time = new DateTime();
time = (DateTime)row[5]; // Exception thrown
Wie überprüfen Sie, ob die Zelle leer ist, bevor Sie versuchen, es zuzuweisen? Keines dieser Arbeit:
if(row[5] == null) ;
if(row[5] == DBNull) ;
if(row[5] == (String)"") ;
Edit: Ich sollte erwähnt haben: Wenn ich debuggen, heißt es, dass row [5] gleich „System.DBNull“, aber ich erhalte eine Fehlermeldung, wenn ich versuche, „if (Zeile [5] == DBNULL) ". Der Fehler sagt "DBNULL ist ein Typ, der in dem gegebenen Kontext nicht gültig ist".
"Zelle" ist, was Sie in einer Tabelle verweisen; Es ist eine bestimmte Spalte in einem Datensatz, wenn es um eine Datenbank geht. –