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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python读取excel文件数据并插入数据库[通俗易懂]

    Python读取excel文件数据并插入数据库[通俗易懂]目的:将excel文件StudentInfo.xls的学生信息插入到test库中的student表中一、连接mysql数据库安装第三方库pymysql:pipinstallpymysql调用pymysql.connect()方法连接数据库,代码如下importpymysql#打开数据库连接conn=pymysql.connect(host=’localhost’,#MySQL服务器地址user=’root’,#MySQL服务器端口号p

    2022年9月1日
    11
  • OHEM(Online Hard Example Mining)在线难例挖掘(在线困难样例挖掘) & HNM

    OHEM(Online Hard Example Mining)在线难例挖掘(在线困难样例挖掘) & HNMHardNegatieMining与OnlineHardExampleMining(OHEM)都属于难例挖掘,它是解决目标检测老大难问题的常用办法,运用于R-CNN,fastR-CNN,fasterrcnn等two-stage模型与SSD等(有anchor的)one-stage模型训练时的训练方法。OHEM和难负例挖掘名字上的不同。HardNegativeMining只注意难负例 OHEM则注意所有难例,不论正负(Loss大的例子)难例挖掘的思想…

    2022年5月29日
    87
  • HOOK编程

    HOOK编程引用地址:https://eason.blog.csdn.net/article/details/7707821通过安装Hook过程,可以用来屏蔽消息队列中某些消息HHOOKSetWindows

    2022年7月2日
    31
  • vim 常用命令

    vim 常用命令普通命令模式复制内容功能需求操作说明复制全部文本按下ggyG复制完成,注意:G必须大写粘贴内容命令操作说明p通过箭头移动光标到需要粘贴的位置,按下p将内容粘贴到光标后面P按下P将内容粘贴到光标前面删除内容功能需求操作说明D删除游标所在位置的字符到行尾全选文本按下ggvG全选文本,但是最后一行仅选中第一个字符,按下ggVG才是真正的全选文本删除按下dG删除光标所在行以及下面的

    2022年5月9日
    41
  • 详解卷积反卷积操作

    详解卷积反卷积操作TransposedConvolution,FractionallyStridedConvolutionorDeconvolution Postedon 2016-10-29反卷积(Deconvolution)的概念第一次出现是Zeiler在2010年发表的论文Deconvolutionalnetworks中,但是并没有指定反卷积这个名字

    2022年5月17日
    52
  • IIS7配置PHP 报错 “对找不到的文件启用文件监视”

    IIS7配置PHP 报错 “对找不到的文件启用文件监视”

    2022年2月21日
    51

发表回复

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

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