ExecuteScalar()方法

ExecuteScalar()方法ExecuteScalar()方法也用来执行SQL语句,但是ExecuteScalar()执行SQL语句后的返回值与ExecuteNonQuery()并不相同,ExecuteScalar()方法的返回值的数据类型是Object类型。如果执行的SQL语句是一个查询语句(SELECT),则返回结果是查询后的第一行的第一列,如果执行的SQL语句不是一个查询语句,则会返回一个未实例化的对象,必须通过类型转

大家好,又见面了,我是你们的朋友全栈君。

ExecuteScalar()方法也用来执行SQL语句,但是ExecuteScalar()执行SQL语句后的返回值与ExecuteNonQuery()并不相同,ExecuteScalar()方法的返回值的数据类型是Object类型。如果执行的SQL语句是一个查询语句(SELECT),则返回结果是查询后的第一行的第一列,如果执行的SQL语句不是一个查询语句,则会返回一个未实例化的对象,必须通过类型转换来显示,示例代码如下所示。

            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()方法来获取刚刚更新后第一行第一列的值。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147736.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 细说SDRAM控制器

    细说SDRAM控制器SDRAM的基本概念SDRAM凭借其极高的性价比,广泛应用于高速数据存储、实时图像处理等设计当中,但是相对于SRAM、FIFO等其他存储器件,SDRAM的控制相对复杂。虽说是复杂,但也不代表没办法实现,仔细梳理一下,发现SDRAM的控制其实也没这么难。本文就SDRAM的基本概念以及其工作流程做简要介绍。SDRAM的基本信号:SDRAM的基本信号(电源以及地线在这里不讨论)可以…

    2022年7月25日
    12
  • 八个Android项目源码

    八个Android项目源码给大家分享几个Android开发项目源码,大部分功能相信可以在实战项目中直接使用,供大家下载学习,大部分项目是基于AndroidStudio开发,IDE为Eclipse的童鞋可通过网上教程自行转换,这里就不多说了。有句话说,不贴墙纸的装修都是耍流氓,无源码无效果图的文章也算是耍流氓,尴尬,那就直接上图吧。最近在整理GitHub,打算把一些以前做过的项目中部分功能和使用的技术点资料上传,回头也和大家分享。OK,要去忙了,再不去忙项目,测试版出不来就危险了,希望有一天不用敲代码也可以吃到馒头,吼吼~~

    2022年6月6日
    35
  • Python的for循环_python中的while语句

    Python的for循环_python中的while语句for循环和while循环有什么区别?众做周知,循环是Python中最基础也是最常见的知识点之一,下面我们来一起好好学习一下for循环和while循环,并对比分析两者的使用区别,帮助Python初学者可以更好地掌握两者的内容和应用,下面一起来看看吧~1、for循环(1)概念for循环可以遍历任何序列的项目,比如字符串、列表、元组、字典、集合等序列类型,逐个获取序列中的各个元素。(2)代码示例:终端…

    2022年8月12日
    8
  • Oracle之AUTHID CURRENT_USER

    Oracle之AUTHID CURRENT_USER

    2021年8月17日
    84
  • 最新VMware 安装Windows10——图文操作,超详细~~~「建议收藏」

    最新VMware 安装Windows10——图文操作,超详细~~~「建议收藏」VMware安装win10系统之前一直卡在找不到映像文件和开机需要登陆密码之个步骤,后续又卡在了设置,干脆自己梳理了下具体步骤,防止再次踩坑~

    2022年6月16日
    24
  • android自动画廊,Android3D画廊效果与自动轮播Banner

    android自动画廊,Android3D画廊效果与自动轮播Banner最开始项目需要使用3D画廊效果作为首页轮播,网上找了半天也没有比较满意的,最终决定自己写一个。本控件采用的是viewpager完成的,支持无限滑动的3D视觉的画廊效果、平面普通广告栏轮播。提供对外方法:指示器图片自定义、小图片位置、是否圆角等。本代码已托管到[github]https://github.com/lzjin/ViewPagerGallery1、先看效果图:gif1.gifgif2….

    2022年5月6日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号