ExecuteScalar

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值