ExecuteScalar()
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()相关推荐
- ExecuteScalar()方法的使用
ExecuteScalar()方法的作用是: 执行查询,并返回查询所返回的结果集中第一行的第一列.所有其他的列和行将被忽略. 1.返回的是一个object类型,也就是说是所有数据类型的基类,可根据se ...
- c# mysql executescalar为什么返回值是空_当没有结果返回时处理ExecuteScalar()
根据DbCommand.ExecuteScalar的MSDN文档 : 如果结果集中第一行的第一列未find,则返回null引用(在Visual Basic中为Nothing). 如果数据库中的值为空, ...
- python 替换字符串的方法replace()、正则re.sub()
一.replace()函数 1用字符串本身的replace方法: a = 'hello word' b = a.replace('word','python') print b 1 2 3 二.re. ...
- Scrapy 学习笔记(-)
Scrapy Scrapy 是一个为了爬取网站数据,提取结构性数据而编写的应用框架. 其可以应用在数据挖掘,信息处理或存储历史数据等一系列的程序中.其最初是为了页面抓取 (更确切来说, 网络抓取 )所 ...
- 67)vector的begin() end() 和 front() back()的区别 rbegin() rend()
1) ·············· 2)`````````v1.begin() 和v1.end() 是作为迭代器v1的 第一个位置 和 最后一个元素的下一个位置. `````````````v1. ...
- 转:【CSS/JS学习】如何实现单行/多行文本溢出的省略(...)--老司机绕过坑道的正确姿势...
本文来源:http://www.cnblogs.com/penghuwan/p/6682303.html 引言: 写前端UI的朋友们也许都遇到过这样的问题:我们需要实现这样一个需求,在一个父级元素中隐 ...
- Python中的对象,类,super()函数
对象:(1)外观的特征 (2)正在做的事情 比如:那个穿蓝色衣服的正在打球的帅哥 类:属性(静态的变量)+方法(函数)是对对象的近似 类名约定是以大写字母开始的 类的出现: 是为了使得对象可以进行大 ...
- Python中的super()函数
多路继承的问题 描述: 解决这样的问题Python中可以使用super() super()函数有点: (1)在父类中可以直接的调用未绑定的方法 (2)在确保所有的父类的构造方法都使用了super()函 ...
- 函数assert()详解
函数assert()详解: 断言assert是一个宏,该宏在<assert>中,,当使用assert时候,给他个参数,即一个判读为真的表达式.预处理器产生测试该断言的代码,如果断言不为真, ...
最新文章
- Powershell管理系列(十)邮件联系人及邮件用户的管理
- 使用WinINet和WinHTTP实现Http訪问
- 计算机维修实训室制度,计算机实训室规章制度
- 可执行文件组成及内存映射
- rabbitmq 传递文件_RabbitMQ:计划邮件传递
- JQUERY插件JqueryAjaxFileUplaoder----更简单的异步文件上传
- 用CSS让文字居于div的底部
- python对ip地址排序、对列表进行去重
- 编程基本功:作为程序员,你有过写优美代码的体验吗
- 成语接龙、歇后语 js JavaScript html web nodejs成语接龙离线js库
- knx智能照明控制系统电路图_智能照明控制系统(KNX)
- sudo 授权需谨慎,否则亲人两行泪!6 个超实用使用技巧
- liunx安装xfs包挂载大于16T的硬盘
- java2048朝代版代码_2048朝代版完整版
- python背景色渐变_Python 生成纯色或渐变色图片
- Arduino - 继电器
- Matlab中xlim函数的使用
- java EE /servlet2/基础
- Selenium学习 - WebDriver接口
- Centos Linux 单机安装 HBase 、使用 HBase