注意 ExecuteNonQuery() 返回值 问题「建议收藏」

注意 ExecuteNonQuery() 返回值 问题「建议收藏」前些日子作一些数据项目的时候在ADO.NET 中处理ExecuteNonQuery()方法时,总是通过判断其返回值是否大于0来判断操作时候成功。但是实际上并不是这样的,好在处理的数据操作多时修改,插入,删除,否则的话问题就有点打了,都是些基础的知识,但是很重要个人觉得有必要记下来。    ExecuteNonQuery()方法主要用户更新数据,通常它使用Update,In

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前些日子作一些数据项目的时候 在ADO.NET 中处理 ExecuteNonQuery()方法时,总是通过判断其返回值是否大于0来判断操作时候成功 。但是实际上并不是这样的,好在处理的数据操作多时 修改, 插入, 删除,否则的话问题就有点打了,都是些基础的知识,但是很重要个人觉得有必要记下来。

     ExecuteNonQuery()方法主要用户更新数据,通常它使用Update,Insert,Delete语句来操作数据库,其方法返回值意义:对于 Update,Insert,Delete  语句 执行成功是返回值为该命令所影响的行数,如果影响的行数为0时返回的值为0,如果数据操作回滚得话返回值为-1,对于这种更新操作 用我们平时所用的是否大于0的判断操作应该没有问题而且比较好,但是对于其他的操作如对数据库结构的操作,如果操作成功时返回的却是-1,这种情况跟我们平时的思维方式有点差距所以应该好好的注意了,例如对数据库共添加一个数据表的Create操作,当创建数据表成功时返回-1,如果操作失败的话(如数据表已经存在)往往会发生异常,所以执行这种操作时最好用try–catch–语句来容错。

  例如用ExecuteNonQuery()方法执行create操作

   

    SqlConnection conn = new SqlConnection(“Data Source=.;Initial Catalog=PSDB;Integrated Security=SSPI”);
        
   string str = “CREATE TABLE aaa ( ” +
  “[ID] [int] IDENTITY (1, 1) NOT NULL , ” +
  “[BasicID] [int] NULL ,” +
  “[AdoptedName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,” +
  “[AdoptedSex] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ,” +
  “[AdoptBirthday] [smalldatetime] NULL ,” +
  “[AdoptedType] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ,” +
  “[ApprTime] [smalldatetime] NULL ,” +
  “[Remark] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL ” +
“) ON [PRIMARY]   “;     

  SqlCommand comm = new SqlCommand(str, conn);
        int i = 10;
        try
        {

            conn.Open();
            i = comm.ExecuteNonQuery();
            conn.Close();
        }
        catch (Exception ex)
        {

            Response.Write(ex.Message);
        }

        Response.Write(i.ToString());

       如果执行成功的话 返回的值为-1,如果数据表已经存在的话返回异常:数据库中已存在名为 ‘aaa’ 的对象。

转自:http://blog.csdn.net/zhvsby/article/details/6000310

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

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

(0)
上一篇 2025年10月30日 下午11:22
下一篇 2025年10月31日 上午7:01


相关推荐

  • linux chmod 755

    linux chmod 755chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。一般是三个数字:第一个数字表示文件所有者的权限第二个数字表示与文件所有者同属一个用户组的其他用户的权限第三个数字表示其它用户组的权限。权限分为三种:读(r=4),写(w=2),执行(x=1)。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。所以,ch…

    2022年7月16日
    26
  • [人工智能-大模型-27]:大模型应用层技术栈 – 大语言模型中的token是什么? – 教程

    [人工智能-大模型-27]:大模型应用层技术栈 – 大语言模型中的token是什么? – 教程

    2026年3月13日
    2
  • Oracle DBA 路途遥远「建议收藏」

    Oracle DBA 路途遥远「建议收藏」好用的OracleDBA为什么这么难找? 这不但是很多CIO的痛,也是很多IT主管搅尽脑汁也解决不了的问题。可那么多从ORACLE培训班拿到OCP认证的人跑哪里去了呢? 小白是一个拥有OCP证照,且对数据库本身的架构、运作原理有一定了解的数据库管理员。原以为一切都没问题的,无奈小白刚一就任,就面临到替换公司数据库系统主机的问题。小白没有程序开发与主机系统管理等经验,小白是那种一毕

    2026年4月13日
    4
  • 【智能家居篇】wifi在智能家居中的应用

    【智能家居篇】wifi在智能家居中的应用

    2022年2月4日
    37
  • VSTO开发Powerpoint插件

    VSTO开发Powerpoint插件不怎么熟悉 VSTO 的 Powerpoint 开发 只是突然需要用一下 但是网上相关太少了 所以这里简单记录一下 VSTO VisualStudio 是 VBA 的替代 是一套用于创建自定义 Office 应用程序的 VisualStudio 工具包 VSTO 使你可以用 VisualBasic 或者 VisualC 扩展 Office 应用程序 例如 Word Excel InfoPath 和 Outlook 你可以使用强大的 VisualStudio 开发环境来创建你的定制程序 而不是使

    2026年3月18日
    2
  • SVN安装教程详解

    SVN安装教程详解SVN 安装教程软件包请移步到百度云网盘 链接 https pan baidu com s 1qHQSk kl fcebnFFJqQP1 提取码 ix1q1 1 TortoiseSVN 安装先安装 TortoiseSVN 然后安装汉化包 安装成功之后 所有的操作都是 右键 安装成功的标记 1 1 创建仓库我们

    2026年3月26日
    5

发表回复

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

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