1、返回一个object对象,表示有结果,返回的是第一个结果集的首航首列。
2、返回一个DBNull对象,表示有结果,但第一个结果集的首航首列是NULL。
3、返回null,表示没有任何结果。
明白了这一点,很多时候代码可以简单些,比如说我们判断某条记录是否存在一般要这样写:
1
SqlCommand command = new SqlCommand( "SELECT COUNT(ID) FROM Data WHERE ID = @ID", connection );
2
//...
3
if ( (int) command.ExecuteScaler() == 0 )

2

3

其实可以这样:
1
SqlCommand command = new SqlCommand( "SELECT ID FROM Data WHERE ID = @ID", connection );
2
//
3
if ( command.ExecuteScaler() == null )

2

3
