我有一个 DataTable resultSet;
- 我正在尝试检查字段为null,但是返回一个'{}'(空集?)对象。涉及“{}”的搜索不会产生任何适当的解决方案。
当“fk_id”字段为null时,这是无法按预期工作的代码:
if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == null)
{
//never reaches here
}
注意:使用int索引而不是 Columns.IndexOf()
不是问题。
“{}”在C#中还有其他名称吗?
要在DataSet中检查DBNull的列,可以使用 一片空白 方法:
if (resultSet.Rows[0].IsNull("fk_id"))
你的比较 null
可能是失败的,因为DataSet不使用 null
表示“数据库NULL”值 - 他们使用 DBNull.Value。如果您需要代码以您呈现的方式工作,请尝试以下方法:
if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == DBNull.Value)
要在DataSet中检查DBNull的列,可以使用 一片空白 方法:
if (resultSet.Rows[0].IsNull("fk_id"))
你的比较 null
可能是失败的,因为DataSet不使用 null
表示“数据库NULL”值 - 他们使用 DBNull.Value。如果您需要代码以您呈现的方式工作,请尝试以下方法:
if (resultSet.Rows[0].ItemArray[resultSet.Columns.IndexOf("fk_id")] == DBNull.Value)
try
{
if (DT.Rows[0][0] != null)
{
//your code
}
}
catch
{
MessageBox.Show("AUTHANICATION FAILED.");
}
请用:
dataTable.Select("FieldName is NULL")
这将为您提供FieldName列中具有空值的DataRows。