ExecuteScaler的三种返回值。
2006-05-16 10:29 Ivony... 阅读(1659) 评论(1) 收藏 举报
DbCommand.ExecuteScaler在执行的时候,有三种可能的返回值:
1、返回一个object对象,表示有结果,返回的是第一个结果集的首航首列。
2、返回一个DBNull对象,表示有结果,但第一个结果集的首航首列是NULL。
3、返回null,表示没有任何结果。
明白了这一点,很多时候代码可以简单些,比如说我们判断某条记录是否存在一般要这样写:
其实可以这样:
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 )
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 )
SqlCommand command = new SqlCommand( "SELECT ID FROM Data WHERE ID = @ID", connection );2
//3
if ( command.ExecuteScaler() == null )
浙公网安备 33010602011771号