2011-10-07 69 views
1

我正在将应用程序的数据库从Access转换为MS SQL Server,并遇到了一行代码,该代码检查从数据库中检索到的项是否为空。为什么我的比较为null,包含在System.Data.DataRow对象中的值失败?

它在本质上是这样的:

if (System.Data.DataRow["foo"] == null) 
{ 
    //do something 
} 

我知道在列“foo”的值为空,但检查失败。它适用于Access数据库,但不适用于MS SQL Server。我明白为什么。该调用返回“{}”而不是null。为什么?

回答

2

尝试检查对DbNull.Value而不是null

1

尝试:

if (System.Data.DataRow["foo"].IsDBNull) 
+0

+1,但检查拼写。 –

+0

@MarceloCantos:谢谢:) – Marco

+0

该属性不存在。 – raven