J'accède à une base de données MS Access 2007 via C# et je reçois une exception chaque fois que j'essaie de lire une cellule vide. En particulier, j'essaie de lire une cellule "Date/Heure" qui peut être vide ou non. J'utilise OLE DB et j'ai rempli un DataSet. Aucune de ces conditions ne fonctionne:Vérifier si une cellule de base de données est vide
DataSet dataSet = GetDataSet();
DataRow row = dataSet.Tables[0].Rows[0];
DateTime time = new DateTime();
time = (DateTime)row[5]; // Exception thrown
Comment vérifier si la cellule est vide avant d'essayer de l'assigner? Aucun de ces travaux:
if(row[5] == null) ;
if(row[5] == DBNull) ;
if(row[5] == (String)"") ;
Edit: Je l'ai dit: Quand je debug, il est dit que la ligne [5] est égal à « System.DBNull, », mais je reçois une erreur lorsque je tente « si (ligne [5] == DBNULL) ". L'erreur dit "DBNULL est un type, qui n'est pas valide dans le contexte donné".
"cellule" est ce que vous faites référence dans une feuille de calcul; C'est une colonne spécifique dans un enregistrement lorsqu'il s'agit d'une base de données. –