代码改变世界

ExecuteScaler的三种返回值。

2006-05-16 10:29  Ivony...  阅读(1648)  评论(1编辑  收藏  举报
DbCommand.ExecuteScaler在执行的时候,有三种可能的返回值:

1、返回一个object对象,表示有结果,返回的是第一个结果集的首航首列。
2、返回一个DBNull对象,表示有结果,但第一个结果集的首航首列是NULL。
3、返回null,表示没有任何结果。

明白了这一点,很多时候代码可以简单些,比如说我们判断某条记录是否存在一般要这样写:

1SqlCommand command = new SqlCommand( "SELECT COUNT(ID) FROM Data WHERE ID = @ID", connection );
2//...
3if ( (int) command.ExecuteScaler() == 0 )


其实可以这样:

1SqlCommand command = new SqlCommand( "SELECT ID FROM Data WHERE ID = @ID", connection );
2//
3if ( command.ExecuteScaler() == null )