c# ds中null值的判断
C# code
if (fieldList.Contains("ZRDW1".ToUpper()) && (ds.Tables[0].Rows[i]["ZRDW1"]!=System.DBNull.Value ))
{
sp.Command.Parameters.Add("@ZRDW1", decimal.Parse(ds.Tables[0].Rows[i]["ZRDW1"].ToString()));
}
else
{
sp.Command.Parameters.Add("@ZRDW1", null);
}
传递过来的ds.Tables[0].Rows[i]["ZRDW1"].ToString()是null值,为何ds.Tables[0].Rows[i]["ZRDW1"]!=System.DBNull.Value 的值是true呢。应该是false呀。哪有错误呢?
------解决方案--------------------IsDBNull
------解决方案--------------------你都用ToString()转换了,那就是""值
------解决方案--------------------DbNull 是指数据库中当一个字段没有被设置值的时候的值,相当于数据库中的“空值”。
null 是 C# 中是空引用的意思(在 VB 中为 Nothing),表示没有引用任何对象。
它们的意义是不同的。
------解决方案--------------------直接!=null不行么