我正在通过C#访问一个MS Access 2007数据库,每当我尝试读取一个空单元格时,就会出现异常。
具体来说,我正在尝试读取可能为空的“日期/时间”单元格。我正在使用OLE DB,并填充了一个DataSet。以下任何条件都不起作用:
如何在尝试分配之前检查单元格是否为空?这些都不起作用:
编辑:我应该提到:当我调试时,它显示行[5]等于“System.DBNull”,但是当我尝试“if(row[5] == DBNULL)”时,我会收到错误。错误显示“DBNULL是一种类型,在给定的上下文中无效”。
具体来说,我正在尝试读取可能为空的“日期/时间”单元格。我正在使用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”,但是当我尝试“if(row[5] == DBNULL)”时,我会收到错误。错误显示“DBNULL是一种类型,在给定的上下文中无效”。