我最近一直致力于处理将Nullable类型插入数据库的许多代码段。
我确信任何处理类似代码的人都会意识到不断编写条件逻辑以处理将空值插入数据库的烦恼
IE:
MyValue.HasValue ? MyValue.Value : DBNull.Value;
If(MyValue.HasValue, MyValue.Value, DBNull.Value)
基本上我只是想知道这里是否有人能够解释为什么DBNull.Value存在以及为什么Null根本无法使用?
答案 0 :(得分:0)
这里有一个解释 http://codebetter.com/petervanooijen/2004/04/12/system-dbnull-value-null/
如果你调用ExecuteScalar并且你得到null,那么这意味着在数据库中没有找到数据,但如果你得到DBNull,这意味着你找到了数据,但是这个值实际上是空的。