您的位置:首页 > 产品设计 > UI/UE

判断一个值是不是DBNull.Value

2016-04-29 14:37 495 查看
C#读取数据库返回DataTable,遍历 DataTable,

在DataRow dr, 假如dr[0]是一个可空的值类型的字段,那么要赋值给C#程序的一个值类型(可空类型变量这里不讨论)变量时,

可以这样判断dr[0]是不是DBNull:

int num=dr[0].Equals(DBNull.Value) ? 0 : Convert.ToInt32(dr[0]);


这样写使得代码简洁,易读,少一些if...else...

判断一个类型是不是DBNull.Value的方法如下:

object obj = DBNull.Value;
bool b = obj.Equals(DBNull.Value);
if (b == true)
{
Console.WriteLine("obj is a DBNull");
}
else
{
Console.WriteLine("obj is not a DBNull");
}
Console.ReadKey();


总结了三种方法:

while (dr.Read())//循环读取
{
//第一种方法判断是不是DBNull.Value
int num1=dr.IsDBNull(0)?0:dr.GetInt32(0);

//第二种方法判断是不是DBNull.Value
int num2 = dr[1].Equals(DBNull.Value) ? 0 : Convert.ToInt32(dr[1]);

//第二种方法判断是不是DBNull.Value
int num3 = string.IsNullOrEmpty(dr[2].ToString()) ? 0 : Convert.ToInt32(dr[2]);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: