我正在通过C#访问MS Access 2007数据库,并且每当我尝试读取空单元格时都会收到异常。检查数据库单元格是否为空
具体来说,我试图读取一个“日期/时间”单元,它可以是也可以不是空的。 我正在使用OLE DB,并填充了一个DataSet。这些条件都不起作用:
DataSet dataSet = GetDataSet();
DataRow row = dataSet.Tables[0].Rows[0];
DateTime time = new DateTime();
time = (DateTime)row[5]; // Exception thrown
如何在尝试分配它之前检查单元格是否为空?这些工作都没有:
if(row[5] == null) ;
if(row[5] == DBNull) ;
if(row[5] == (String)"") ;
编辑:我应该提到:当我调试,它说,行[5]为“System.DBNull”,但我得到一个错误,当我尝试“如果(行[5] == DBNULL)“。错误说“DBNULL是一种类型,在给定的上下文中无效”。
“细胞” 是你在电子表格中参考;它是处理数据库时记录中的特定列。 – 2010-12-10 05:41:46