一尘不染

检查数据表中是否为空值的最佳方法

c#

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

在我们的方案中,大多数情况下,一列将具有所有空值。

(此数据表由第三方应用程序返回-我们正在尝试在我们的应用程序处理数据表之前放置一个别名)


阅读 1051

收藏
2020-05-19

共1个答案

一尘不染

尝试将列的DBNull.Value值与该值进行比较,以您认为合适的方式过滤和管理空值。

foreach(DataRow row in table.Rows)
{
    object value = row["ColumnName"];
    if (value == DBNull.Value)
        // do something
    else
        // do something else
}

有关DBNull类的更多信息


如果要检查表中是否存在空值,可以使用此方法:

public static bool HasNull(this DataTable table)
{
    foreach (DataColumn column in table.Columns)
    {
        if (table.Rows.OfType<DataRow>().Any(r => r.IsNull(column)))
            return true;
    }

    return false;
}

这将使您编写以下代码:

table.HasNull();
2020-05-19