How to check if Datarow value is null

爱⌒轻易说出口 提交于 2019-11-27 15:42:52

问题


Tell me please is this is correct way to check NULL in DataRow if need to return a string

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

Or should be like check with DBNull.Value.

Need to so much more smaller than

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

回答1:


Check if the data column is not null with DataRow.IsNull(string columnName)

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



回答2:


We have created an extension class that helps in these kinds of situations.

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

You can use is as follows:

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


来源:https://stackoverflow.com/questions/27398037/how-to-check-if-datarow-value-is-null

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!