ExecuteScalar()方法的作用是:
执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。
1、返回的是一个object类型,也就是说是所有数据类型的基类,可根据select所得的第一列的数据类型转换为对应的数据类型
例:
string strConn = "Data Source=(local);Initial Catalog=paperManage;Integrated Security=True";
SQLConnection objConn = new SQLconnection(strConn);
SQLCommand objCMD = new SQLCommand(strSQL,objConn);
object objResult = objCMD.ExecuteScalar() //或者 string result = objCMD.ExecuteScalar().toString();
 
2、当select语句无记录返回时,ExecuteScalar()返回NULL值,无法再将null值赋给任何对象或者变量,否则出现异常:System.NullReferenceException:   未将对象引用设置到对象的实例
例:
若select查询无返回记录,以下代码则会抛出异常:
try
{
   string result = objCMD.ExecuteScalar().toString();
}
catch(SQLException ee)
{
   MessageBox.show(ee.toString());
}
解决方法是先判断ExecuteScalar()是否为null,再进行相应的处理。
例:
        if (objCMD.ExecuteScalar() == null)
        {
               //为空时的操作
        }
        else
        {
               result = objCMD.ExecuteScalar().ToString().Trim();
        }
 
使用 ExecuteScalar() 方法从数据库中检索单个值(例如一个聚合值)。
典型的 ExecuteScalar() 查询可以采用类似于下面的 C# 示例的格式:
 
cmd.CommandText = "SELECT COUNT(*) FROM dbo.region";
Int32 count = (Int32) cmd.ExecuteScalar();

最新文章

  1. 在Azure上的VM镜像库中找到想要的镜像
  2. swoole_redis 记一次看文档不仔细做警醒
  3. Two Sum Leetcode Java
  4. C++ dynamic_cast对指针类型的转换
  5. sql语句的join用法
  6. 【翻译】Kinect v1和Kinect v2的彻底比较
  7. CentOS 7 结构体GCC 4.8.2 32位编译环境
  8. Angular 和 Vue 使用的对比总结 -- 脚手架
  9. lvs+keepalive实现双主模式(采用DR),同时实现TCP和UDP检测实现非web端的负载均衡,同时实现跨网段的通讯
  10. groovy 知识集锦
  11. Django开发笔记一
  12. LOJ 3089: 洛谷 P5319: 「BJOI2019」奥术神杖
  13. gson 生成json有\u003d异常字符处理
  14. Scrum Meeting 10.24
  15. Oracle数据库代码指令简介
  16. heap与stack的差
  17. GUC-5 CountDownLatch闭锁
  18. Java并发编程:深入剖析ThreadLocal (总结)
  19. js String字符串对象常见方法总结
  20. WCF引用 代码

热门文章

  1. UVALive 3983 捡垃圾的机器人 DP
  2. lemon
  3. 并发与高并发(七)-线程安全性-原子性-atomic
  4. 基于libcurl的GET与POST(HTTP1.1)
  5. php的date()函数判断今天是星期几
  6. np.newaxis 为 numpy.ndarray(多维数组)增加一个轴
  7. ubuntu19.10安装cuda-10.1
  8. Est数据库
  9. Python笔记_第三篇_面向对象_9.Python中的"get"和"set"方法(@property和@.setter)
  10. Proe5.0导出PDF至配置文件的相关方法,VC++