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不行么