检查数据集中是否有空值的最佳方法是什么?
在我们的情况下,有时某列的值为空。
我尝试过这种解决方案,但没有成功:
DataSet ds = new DataSet();
reader.Fill(ds);
if (ds.Tables.Count > 0)
{
DataTable dt = new DataTable();
dt = ds.Tables[0];
if (!DBNull.Value.Equals(dt.Rows[0]["Rif"]))
{
RifNew = dt.Rows[0]["Rif"].ToString();
}
else
{
Rif = "0";
}
}
return ds;
这是错误:
位置0没有行
答案 0 :(得分:1)
这种方式:
dataSet.Tables.OfType<DataTable>().Any(x => x.Rows.OfType<DataRow>().Any(y => y.ItemArray.Any(z => z == null || z == DBNull.Value)));
它检查数据集中任何表中任何行中的任何列是否具有空值。
此代码将在每种情况下正常工作,没有任何错误。