zoukankan      html  css  js  c++  java
  • 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' 的对象。

  • 相关阅读:
    How do I access arcobjects from python?
    Win7 打开或关闭Windows功能 窗口空白 解决方案(ZZ)
    解释什么叫工作
    电脑城奸商最怕顾客知道的十条经验
    25岁前你要学会放下的八样东西
    必看十大电影
    SQL Server 中查询非中文,非英文,非数字的特殊列
    CHARINDEX 和 PATINDEX
    主流开源数据库的技术特点点评
    information_schema.routines与sysobjects
  • 原文地址:https://www.cnblogs.com/lxwphp/p/7730998.html
Copyright © 2011-2022 走看看