如何检查数据行值是否为空

本文关键字:是否 数据 何检查 检查 | 更新日期: 2023-09-27 18:33:52

>请告诉我,如果需要返回string,这是在 DataRow 中检查 NULL 的正确方法

吗?
 Convert.ToString(row["Int64_id"] ?? "")

或者应该像用DBNull.Value检查一样。

需要

比小得多
if(row["Int64_id"] != DBNull.Value){...}else if{}

如何检查数据行值是否为空

使用 DataRow.IsNull(string columnName) 检查数据列是否不为空

if (!row.IsNull("Int64_id"))
{
  // here you can use it safety
   long someValue = (long)row["Int64_id"];
}

使用列的index或如果您有DataColumn的实例,它有重载。如果您确定index,请使用索引版本,它往往比其他选项更快。

我们创建了一个扩展类,可以在这些情况下提供帮助。

public static class DataRowExtensions
  {
    public static T FieldOrDefault<T>(this DataRow row, string columnName)
    {
      return row.IsNull(columnName) ? default(T) : row.Field<T>(columnName);
    }
  }

您可以使用如下:

int id = dataRow.FieldOrDefault<int>("Id");