转自:http://blog.csdn.net/liuzuofei/archive/2008/01/15/2044744.aspx
ExecuteScalar这个方法本来的目的是只反回数据集的第一行第一列。
但是当表中的记录为空时,没有经验的同志会直接这样做:
object
val
=
cmd.ExecuteScalar();

if
(val
==
null
)
...
{}
.......
实际这样做是错误的,因为val永远不会==null。
真正的原因是没有区分数据库的null和0记录。
因此正确的做法如下:
object
val
=
cmd.ExecuteScalar();
if (val == System.DBNull.Value) { val = null ; }
if (val == System.DBNull.Value) { val = null ; }
特在此标记一下!
本文讲解了在ADO.NET中如何正确地使用ExecuteScalar方法来获取单一值,特别强调了如何区分数据库中的null值与不存在记录的情况,并给出了具体的实现代码。

2542

被折叠的 条评论
为什么被折叠?



