检查数据表中是否有空值

时间:2019-06-12 13:31:52

标签: c# datatable dataset

检查数据集中是否有空值的最佳方法是什么?

在我们的情况下,有时某列的值为空。

我尝试过这种解决方案,但没有成功:

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没有行

1 个答案:

答案 0 :(得分:1)

这种方式:

dataSet.Tables.OfType<DataTable>().Any(x => x.Rows.OfType<DataRow>().Any(y => y.ItemArray.Any(z => z == null || z == DBNull.Value)));

它检查数据集中任何表中任何行中的任何列是否具有空值。

此代码将在每种情况下正常工作,没有任何错误。