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# 代码     复制
ExecuteNonQuery()返回值
  public void CreateMySqlCommand(string myExecuteQuery, SqlConnection myConnection) ExecuteNonQuery()返回值 ExecuteNonQuery()返回值 { ExecuteNonQuery()返回值 ExecuteNonQuery()返回值 SqlCommand myCommand = new SqlCommand(myExecuteQuery, myConnection); ExecuteNonQuery()返回值 myCommand.Connection.Open(); ExecuteNonQuery()返回值 myCommand.ExecuteNonQuery(); ExecuteNonQuery()返回值 myConnection.Close(); ExecuteNonQuery()返回值 ExecuteNonQuery()返回值 } ExecuteNonQuery()返回值


 

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

 

C# 代码     复制
ExecuteNonQuery()返回值 SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=PSDB;Integrated Security=SSPI"); ExecuteNonQuery()返回值 ExecuteNonQuery()返回值 string str = "CREATE TABLE aaa ( " + ExecuteNonQuery()返回值 "[ID] [int] IDENTITY (1, 1) NOT NULL , " + ExecuteNonQuery()返回值 "[BasicID] [int] NULL ," + ExecuteNonQuery()返回值 "[AdoptedName] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ," + ExecuteNonQuery()返回值 "[AdoptedSex] [char] (2) COLLATE Chinese_PRC_CI_AS NULL ," + ExecuteNonQuery()返回值 "[AdoptBirthday] [smalldatetime] NULL ," + ExecuteNonQuery()返回值 "[AdoptedType] [varchar] (100) COLLATE Chinese_PRC_CI_AS NULL ," + ExecuteNonQuery()返回值 "[ApprTime] [smalldatetime] NULL ," + ExecuteNonQuery()返回值 "[Remark] [varchar] (500) COLLATE Chinese_PRC_CI_AS NULL " + ExecuteNonQuery()返回值 ") ON [PRIMARY] "; ExecuteNonQuery()返回值 ExecuteNonQuery()返回值 SqlCommand comm = new SqlCommand(str, conn); ExecuteNonQuery()返回值 int i = 10; ExecuteNonQuery()返回值 try ExecuteNonQuery()返回值 { ExecuteNonQuery()返回值 conn.Open(); ExecuteNonQuery()返回值 i = comm.ExecuteNonQuery(); ExecuteNonQuery()返回值 conn.Close(); ExecuteNonQuery()返回值 } ExecuteNonQuery()返回值 catch (Exception ex) ExecuteNonQuery()返回值 { ExecuteNonQuery()返回值 Response.Write(ex.Message); ExecuteNonQuery()返回值 } ExecuteNonQuery()返回值 ExecuteNonQuery()返回值 Response.Write(i.ToString()); 
ExecuteNonQuery()返回值

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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM