处理Datarow DBNull的最佳方法

A D*_*per 15 c# database

可能重复:
检查数据表中是否包含空值的最佳方法

我想知道检查DBNull的DataTable - DataRow值的方法应该是什么.

防爆

我有一个DataRow,它从行类型中获取数据库中的信息,如:

varchar,money,Int等.

应该用什么(简单而甜蜜)的方法处理这种情况.

Shr*_*ree 22

尝试:

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

    }
    else
    {
    }
}
Run Code Online (Sandbox Code Playgroud)


cod*_*biz 6

试试这个

对于varchar

string val = dr["name"].ToString();
Run Code Online (Sandbox Code Playgroud)

对于int

int? val = dr["status"] == DBNull.Value ? (int?) null : Convert.ToInt32(dr["status"]);
Run Code Online (Sandbox Code Playgroud)

Money, Decimalint替换相应.Net类型所做的相同