我有一个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的列,可以使用IsNull方法:
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)