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

ExecuteScalar的更多相关文章

  1. 执行插入语句,object val = cmd.ExecuteScalar() val = null

    在写接口的过程中遇到错误:空对象不能转换为值类型 因为我们使用的是petapoco,经过调试后发现是 object val = cmd.ExecuteScalar() 这一句造成的报错, val = ...

  2. 框架设计之ADO.NET Command的ExecuteScalar误用情景及底层解说

    最近下载了点资料,学了学Android,发现Android入门还算简单,从.NET过渡到Android,也就三七十一天的事. 大伙有空也可以学学... 好了,言归正文,那日,有网友发了一个他们公司的数 ...

  3. ExecuteScalar()

    ExecuteScalar()方法的作用是: 执行查询,并返回查询所返回的结果集中第一行的第一列.所有其他的列和行将被忽略. 它的返回值时object,若是想判断某条数据在数据库里存不存在便可使用该方 ...

  4. cmd.ExecuteNonQuery();和cmd.ExecuteScalar();

    C#...cmd.ExecuteNonQuery();是返回执行命令后影响的参数 返回符合你条件的所有语句,如果你要数据库里某张表的数据,说执行这个命令后他返回的是就是这张表的全部数据cmd.Exec ...

  5. ADO.NET笔记——利用Command对象的ExecuteScalar()方法返回一个数据值

    相关知识: 有些SQL操作,例如SUM,只会从数据库返回一个数据值,而不是多行数据 尽管也可以使用ExecuteReader()返回一个DataReader对象,代表该数据值,但是使用Command对 ...

  6. ExecuteScalar的学习日志

    一:今天写关于调用sqlhelper类的时候出现了一个异常,我仔细观察没有错误啊,怎么回事:看图 二:出现错误时id的结果是0,也就是说ExcuteScalar的结果是null,明明数据库里有多行数据 ...

  7. ExecuteReader(),ExecuteNonQuery(),ExecuteScalar(),ExecuteXmlReader()之间的区别

    本文来自:http://www.cnblogs.com/zhouxiaxue/archive/2006/05/12/398266.html http://www.cnblogs.com/yaoxc/a ...

  8. SqlCommand.ExecuteScalar 方法

    本文来自:http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqlcommand.executescalar(v=vs.100 ...

  9. sql的ExecuteScalar(),ExecuteNonQuery()

    一,ExecuteScalar ExecuteScalar()也返回一个int型变量.如果SQL语句是Select查询,则仅仅返回查询结果集中第一行第一列,而忽略其他行和列.如果SQL语句不是Sele ...

随机推荐

  1. Hadoop4Win

    Hadoop4Win + Eclipse 运行 WordCount 程序 http://software.intel.com/zh-cn/blogs/2013/10/16/hadoop4win-ecl ...

  2. qt运行库

    KERNEL32.DLL MINGWM10.DLL MSVCRT.DLL LIBGCC_S_DW2-1.DLL QTCORE4.DLL QTGUI4.DLL 笔者安装的是QT SDK.(发行版本这是前 ...

  3. Controller中获取输入参数注解使用总结

    1.处理request的uri部分的参数(即restful访问方式):@PathVariable. 当使用restful访问方式时, 即 someUrl/{paramId}, 这时的参数可通过 @Pa ...

  4. wx.Notebook

    wx.Notebook This class represents a notebook control, which manages multiple windows with associated ...

  5. LDT自己定义启动模拟器

    近期使用LUA开发手游,团队里大神自研了个框架,底层C++渲染,上层LUA处理逻辑. LUA的IDE选择LDT,不爽的是它不能自己主动启动模拟器,看过COCOSIDE能自启动,于是我想改造下LDT让它 ...

  6. 404 Not Found The requested URL * was not found on this server

    1. 把从SVNcheckout下来的代码搭建起来.CakePHP+mysql.改动数据库配置. 2. 配置虚拟主机,发现訪问不了/user/login这个URL,报这个错误:404 Not Foun ...

  7. Linux--根文件系统的挂载过程分析

    前言: 本篇文章以S3C6410公版的Linux BSP和U-Boot来进行分析,文中全部提及的名词和数据都是以该环境为例,全部的代码流程也是以该环境为例来进行分析.哈哈.假设有不对或者不完好的地方, ...

  8. 【Leetcode】Same Tree

    给定两棵二叉树,判断是否相等(即树的结构以及各结点中的值都一样) Given two binary trees, write a function to check if they are equal ...

  9. Oracle方向

    从毕业到现在工作已经4年了,入职前去过私企,干过外企,当前到了国企,各有各的不同,对于不同的人,有不同的适合的选择. 这几年的工作中也积累了不少知识,业务上的.技术上的,但始终觉得没有掌握一门核心,没 ...

  10. 微信訪问页面,莫名其妙刷新两次,火狐、谷歌、ie无问题

    做微信刮刮卡活动,有个用户刮奖次数的限制,昨天一切正常,所以就修改了一些东西,今天再打开的时候刮奖次数第一次是1,第二次是3,第三次是5.感觉就是页面刷新了两遍. 检查前后台代码.发现一些bug就顺手 ...