加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

SQLSERVER ExecuteScalar

发布时间:2020-12-12 14:06:18 所属栏目:MsSql教程 来源:网络整理
导读:ExecuteScalar执行查询,并返回查询所返回的结果集中第一行的第一列或空引用(如果结果集为空).忽略其他列或行. 使用 ExecuteScalar 方法从数据库中检索单个值。 因为不用创建行集、查找值并关闭行集,所以产生的系统开销非常小与使用 ExecuteReader方法,然

ExecuteScalar执行查询,并返回查询所返回的结果集中第一行的第一列或空引用(如果结果集为空).忽略其他列或行.

使用 ExecuteScalar 方法从数据库中检索单个值。

因为不用创建行集、查找值并关闭行集,所以产生的系统开销非常小与使用 ExecuteReader方法,然后使用 SqlDataReader 返回的数据执行生成单个值所需的操作相比,此操作需要的代码较少

cmd.CommandText = "SELECT COUNT(*) FROM dbo.region";

Int32 count = (Int32) cmd.ExecuteScalar();//一般用来获取一个聚合值 如SUM(). COUNT()

[说明]:我们平时Select 时候可能会碰上这种情况,即所求的数据集为空或不存在两种情况 数据集为空即值为NULL,

但是它的行数为1 代码不加以判断的话会出现“指定的转换无效”的ERROR

?

?解决方案--〉 object obj = comm.ExecuteScalar(); //返回类型为object

if (obj == System.DBNull.Value) //判断是否是空值

MessageBox.Show("Result Is Null 数据集的行数为一");

数据集不存在即行数为零 直接使用 Int32 count = (Int32) cmd.ExecuteScalar() 会出现“未将对象引用设置到 对象的实例”的ERROR

?

解决方案--> object obj = comm.ExecuteScalar(); if (obj == null ) MessageBox.Show("数据集的行数为零");

?

?

详细可以参考http://blog.csdn.net/zhvsby/archive/2010/11/10/6000321.aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读