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