ExecuteScaler的三种返回值。

DbCommand.ExecuteScaler在执行的时候,有三种可能的返回值:

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  )


其实可以这样:

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

你可能感兴趣的:(execute)