ExecuteNonQuery()返回值

ExecuteNonQuery()返回值

本文导读:虽然 ExecuteNonQuery 不返回任何行,但映射到参数的任何输出参数或返回值都会用数据进行填充。对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他类型的语句,返回值为 -1。如果发生回滚,返回值也为 -1 。 下面介绍ExecuteNonQuery()返回值

ExecuteNonQuery()方法主要用户更新数据,通常它使用Update,Insert,Delete语句来操作数据库

 

一、ExecuteNonQuery方法返回值

 

1、对于 Update,Insert,Delete  语句 执行成功是返回值为该命令所影响的行数,如果影响的行数为0时返回的值为0。

2、对于所有其他类型的语句,返回值为 -1。

3、如果发生回滚,返回值也为 -1 。

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

 

 

二、ASP.NET中ExecuteNonQuery的使用示例

 
C# 代码   
复制
public void CreateMySqlCommand(string myExecuteQuery, SqlConnection myConnection)   
{  
    SqlCommand myCommand = new SqlCommand(myExecuteQuery, myConnection);  
   myCommand.Connection.Open();  
    myCommand.ExecuteNonQuery();  
    myConnection.Close();  
 } 

 

三、用ExecuteNonQuery()方法执行create操作

 

C# 代码   
复制
 
    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());

ExecuteNonQuery()返回值

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

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

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

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


相关推荐

  • 完全卸载tensorflow (pip安装)[通俗易懂]

    完全卸载tensorflow (pip安装)[通俗易懂]查看tensorflow版本sudopipshowtensorflow卸载:sudopipuninstallprotobufsudopipuninstalltensorflow

    2022年6月22日
    113
  • 前景背景样本不均衡解决方案:Focal Loss,GHM与PISA(附python实现代码)

    前景背景样本不均衡解决方案:Focal Loss,GHM与PISA(附python实现代码)参考文献 ImbalancePro AReview1 定义在前景 背景类别不平衡中 背景占有很大比例 而前景的比例过小 这类问题是不可避免的 因为大多数边界框都是由边界标记为背景 即否定 类框匹配和标签模块如图 4 a 所示 一般来说 前景背景不均衡现象出现在训练期间 它不依赖于数据集中每个类的样本的个数 因为但对于样本来说 它不包含前景和背景的任何相关信息 2 解决方案我们可以将前景背景类不平衡的解决方案分为四类 i 硬采样方法 i

    2025年9月5日
    3
  • 表空间的状态(二) – read/write

    表空间的状态(二) – read/write

    2022年1月22日
    37
  • 简述TCP四次挥手

    简述TCP四次挥手四次握手主要用到了两个标志位(ACK&FIN):ACK示意参考:TCP三次握手FIN:终止数据传输标志位—->当FIN为1的时候代表此数据为终止断开连接的请求四次挥手流程:由于TCP连接是双向传输的对等的模式即双工wiki百科定义:全双工(full-duplex)的系统允许二台设备间同时进行双向资料传输。全双工的系统可以用复线铁路类比。两个方向的车辆因使用不同的轨道,因此不会互相影响。一般的电话、手机就是全双工的系统,因为在讲话时同时也可以听到对方的声音意思是说

    2022年5月29日
    54
  • 以太坊(ETH)挖矿最新教程_以太坊个人挖矿

    以太坊(ETH)挖矿最新教程_以太坊个人挖矿以太坊(ETH)挖矿最新教程目前网上的大多数以太坊挖矿教程是很早整理编写的,基本都已过时不适用了。但挖矿是一个技术持续升级更新的过程,因此根据最新实战情况编写了本文,并争取在以后抽时间持续保持跟进更新。一.基本要求ETH 挖矿主要是使用显卡来挖矿。因此你需要一台拥有以下设备的PC(矿机):显卡、主板、电源、CPU、内存(推荐4G)、硬盘(推荐60G的SSD)、PCI-E转接线

    2022年10月15日
    2
  • 应对黑客攻击SQL SERVER数据库中的一个案例

    应对黑客攻击SQL SERVER数据库中的一个案例

    2022年1月2日
    48

发表回复

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

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