Execute=执行;
scalar=数量;
so, 从字面意思来讲,可将ExecuteScalar 和ExecuteNonQuery对比来学习。
ExecuteScalar()方法的作用是:
执行查询,并返回查询所返回的结果集中第一行的第一列。所有其他的列和行将被忽略。

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();

ExecuteNonQuery执行一个SqlCommand返回操作影响的行数,这个多半是判断操作是否成功的,例如插入删除和更新操作,如果影响行数为0的话,则证明操作是不成功的,大于0则证明操作成功。
而ExecuteScalar()方法也用来执行SQL语句,但是ExecuteScalar()执行SQL语句后的返回值与 ExecuteNonQuery()并不相同,ExecuteScalar()方法的返回值的数据类型是Object类型。
object类型,也就是说是所有数据类型的基类,可根据select所得的第一列的数据类型转换为对应的数据类型
例。

示例代码如下所示。

       string str = "server='(local)';database='mytable';uid='sa';pwd='sa'";      //创建连接字串SqlConnection con = new SqlConnection(str);                                         //创建连接对象con.Open();                                                                                                       //打开连接string strsql = "select * from mynews order by id desc";SqlCommand cmd = new SqlCommand(strsql, con);Label1.Text = "查询出了Id为" + cmd.ExecuteScalar() \;                          //使用ExecuteScalar查询

通常情况下ExecuteNonQuery()操作后返回的是一个值,而ExecuteScalar()操作后则会返回一个对 象,ExecuteScalar()经常使用于当需要返回单一值时的情况。例如当插入一条数据信息时,常常需要马上知道刚才插入的值,则可以使用 ExecuteScalar()方法。示例代码如下所示。

       string str = "server='(local)';database='mytable';uid='sa';pwd='sa'";      //创建连接字串SqlConnection con = new SqlConnection(str);                                         //创建连接对象con.Open();                                                                                                       //打开连接string strsql = "insert into mynews values ('刚刚插入的id是多少?')SELECT  @@IDENTITY as 'bh'";                                                          //插入语句SqlCommand cmd = new SqlCommand(strsql, con);                            //执行语句Label1.Text = "刚刚插入的行的id是" + cmd.ExecuteScalar();                //返回赋值

上述代码使用了SELECT @@IDENTITY语法获取刚刚执行更新后的id值,然后通过使用ExecuteScalar()方法来获取刚刚更新后第一行第一列的值。

ExecuteScalar()相关推荐

  1. ExecuteScalar()方法的使用

    ExecuteScalar()方法的作用是: 执行查询,并返回查询所返回的结果集中第一行的第一列.所有其他的列和行将被忽略. 1.返回的是一个object类型,也就是说是所有数据类型的基类,可根据se ...

  2. c# mysql executescalar为什么返回值是空_当没有结果返回时处理ExecuteScalar()

    根据DbCommand.ExecuteScalar的MSDN文档 : 如果结果集中第一行的第一列未find,则返回null引用(在Visual Basic中为Nothing). 如果数据库中的值为空, ...

  3. python 替换字符串的方法replace()、正则re.sub()

    一.replace()函数 1用字符串本身的replace方法: a = 'hello word' b = a.replace('word','python') print b 1 2 3 二.re. ...

  4. Scrapy 学习笔记(-)

    Scrapy Scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取 (更确切来说, 网络抓取 )所 ...

  5. 67)vector的begin() end() 和 front() back()的区别 rbegin() rend()

    1) ·············· 2)`````````v1.begin() 和v1.end()  是作为迭代器v1的 第一个位置  和 最后一个元素的下一个位置. `````````````v1. ...

  6. 转:【CSS/JS学习】如何实现单行/多行文本溢出的省略(...)--老司机绕过坑道的正确姿势...

    本文来源:http://www.cnblogs.com/penghuwan/p/6682303.html 引言: 写前端UI的朋友们也许都遇到过这样的问题:我们需要实现这样一个需求,在一个父级元素中隐 ...

  7. Python中的对象,类,super()函数

    对象:(1)外观的特征 (2)正在做的事情 比如:那个穿蓝色衣服的正在打球的帅哥  类:属性(静态的变量)+方法(函数)是对对象的近似 类名约定是以大写字母开始的 类的出现: 是为了使得对象可以进行大 ...

  8. Python中的super()函数

    多路继承的问题 描述: 解决这样的问题Python中可以使用super() super()函数有点: (1)在父类中可以直接的调用未绑定的方法 (2)在确保所有的父类的构造方法都使用了super()函 ...

  9. 函数assert()详解

    函数assert()详解: 断言assert是一个宏,该宏在<assert>中,,当使用assert时候,给他个参数,即一个判读为真的表达式.预处理器产生测试该断言的代码,如果断言不为真, ...

最新文章

  1. Powershell管理系列(十)邮件联系人及邮件用户的管理
  2. 使用WinINet和WinHTTP实现Http訪问
  3. 计算机维修实训室制度,计算机实训室规章制度
  4. 可执行文件组成及内存映射
  5. rabbitmq 传递文件_RabbitMQ:计划邮件传递
  6. JQUERY插件JqueryAjaxFileUplaoder----更简单的异步文件上传
  7. 用CSS让文字居于div的底部
  8. python对ip地址排序、对列表进行去重
  9. 编程基本功:作为程序员,你有过写优美代码的体验吗
  10. 成语接龙、歇后语 js JavaScript html web nodejs成语接龙离线js库
  11. knx智能照明控制系统电路图_智能照明控制系统(KNX)
  12. sudo 授权需谨慎,否则亲人两行泪!6 个超实用使用技巧
  13. liunx安装xfs包挂载大于16T的硬盘
  14. java2048朝代版代码_2048朝代版完整版
  15. python背景色渐变_Python 生成纯色或渐变色图片
  16. Arduino - 继电器
  17. Matlab中xlim函数的使用
  18. java EE /servlet2/基础
  19. Selenium学习 - WebDriver接口
  20. Centos Linux 单机安装 HBase 、使用 HBase

热门文章

  1. 如果你是第一次接触Python当中的面向对象,请点击进来。
  2. C++ string使用介绍(非常全面,详细)
  3. C++实现图形界面双人五子棋游戏
  4. 基于GEE平台土地类型分类
  5. 土地利用分类表,有2015年-2018年
  6. junit 单元测试 规范
  7. 巨杉与润和软件完成产品兼容认证
  8. vue美食杰项目之菜谱大全实现效果(一)
  9. 读书有益——》顾城的经典语句(二)
  10. 安利几个冷门的手机使用小技巧