web-dev-qa-db-ja.com

Datarow値がnullかどうかを確認する方法

stringを返す必要がある場合、これはDataRowのNULLをチェックする正しい方法であると教えてください

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

または、DBNull.Valueで確認するようにしてください。

よりずっと小さくする必要がある

if(row["Int64_id"] != DBNull.Value){...}else if{}
21
AleksP

DataRow.IsNull(string columnName) を使用して、データ列がnullでないことを確認します

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

このような状況に役立つ拡張クラスを作成しました。

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");
9
Ajit Goel