博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ExecuteScalar
阅读量:5127 次
发布时间:2019-06-13

本文共 790 字,大约阅读时间需要 2 分钟。

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("数据集的行数为零");

 

 

具体能够參考

转载于:https://www.cnblogs.com/mfrbuaa/p/4025226.html

你可能感兴趣的文章
Maven安装jar包到本地仓库
查看>>
前端学习总览
查看>>
HDU1228 A + B
查看>>
第一阶段冲刺个人博客10
查看>>
SQLServer中进行sql除法运算结果为小数时显示0的解决方案
查看>>
[分块] 洛谷 P3396 哈希冲突
查看>>
《程序设计实践》中文版pdf
查看>>
Effective Java中文版(第2版)pdf
查看>>
XML与数据库pdf
查看>>
stegsolve下载
查看>>
像计算机科学家一样思考Python pdf
查看>>
深度探索C++对象模型.pdf
查看>>
网络营销教程—SEO 第二章 搜索引擎(第一节)
查看>>
ADOdb
查看>>
ZooKeeper集群搭建
查看>>
NLog简单使用
查看>>
MySQL入门很简单-触发器
查看>>
LVM快照(snapshot)备份
查看>>
Struts2 - 与 Servlet 耦合的访问方式访问web资源
查看>>
绝望的第四周作业
查看>>