11

我有一个DataTable resultSet;- 我正在尝试检查字段是否为空,但要返回一个“{}”(空集?)对象。涉及“{}”的搜索没有产生任何合适的解决方案。

这是“fk_id”字段为空时无法按预期工作的代码:

if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == null)
{
   //never reaches here
}

注意:使用 int 索引而不是 theColumns.IndexOf()不是问题。

“{}”在 C# 中还有其他名称吗?

4

3 回答 3

19

要检查 DataSet 中的 DBNull 列,可以使用IsNull方法:

if (resultSet.Rows[0].IsNull("fk_id"))

您的比较null可能失败,因为 DataSets 不null用于表示“数据库 NULL”值 - 它们使用DBNull.Value。如果您需要您的代码按照您呈现的方式工作,请尝试以下操作:

if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == DBNull.Value)
于 2009-04-01T23:01:27.580 回答
-2
try
{
    if (DT.Rows[0][0] != null)
    {      
      //your code
    }    
}    
catch    
{    
    MessageBox.Show("AUTHANICATION FAILED.");    
}
于 2011-05-16T22:45:25.000 回答
-2

请用:

dataTable.Select("FieldName is NULL")

这将为您提供 FieldName 列中具有空值的 DataRows。

于 2012-01-26T07:24:34.883 回答