asp.net EXECUTENONQUERY()返回值介绍

 更新时间:2013年08月27日 14:52:36   作者:  
前些日子作一些数据项目的时候 在ADO.NET 中处理 ExecuteNonQuery()方法时,总是通过判断其返回值是否大于0来判断操作时候成功 。但是实际上并不是这样的,下面详细介绍一下,有需要的朋友可以参考

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

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

  
[code]
    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());
[code]
       如果执行成功的话 返回的值为-1,如果数据表已经存在的话返回异常:数据库中已存在名为 'aaa' 的对象。

相关文章

  • C#实现把图片下载到服务器代码

    C#实现把图片下载到服务器代码

    本文给大家分享的是实现这样一个功能,想将远程服务器的图片下载到本地主机,图片的名称就是数据库的一个字段,图片不是以二进制的形式存储在数据库的,数据库存储的只是图片的名词。
    2015-11-11
  • asp.net下将纯真IP数据导入数据库中的代码

    asp.net下将纯真IP数据导入数据库中的代码

    纯真IP数据库包含最新的IP信息,通过IP我们可以查询访问者的来路,地理位置!但下载下来的IP数据无法被我们直接调用,所以我们需要编写代码将IP写入到数据库中供我们使用!
    2011-01-01
  • asp.net Server.MapPath方法注意事项

    asp.net Server.MapPath方法注意事项

    当我发布之后,对存储图片的文件夹创建了虚拟目录,并赋予该目录写入的权限,但是,当我上传图片的时候,总是失败。以前没遇到过这种情况,觉得很是怪异,所以想尽办法去解决。
    2008-09-09
  • 简单好用的ASP.NET分页类(支持AJAX、自定义文字)

    简单好用的ASP.NET分页类(支持AJAX、自定义文字)

    这篇文章主要介绍了简单好用的ASP.NET分页类(支持AJAX、自定义文字),本文直接给出实现代码和使用方法,需要的朋友可以参考下
    2015-06-06
  • asp.net身份验证方式介绍

    asp.net身份验证方式介绍

    asp.net提供了3种认证方式: windows身份验证, Forms验证和Passport验证
    2012-06-06
  • .NetCore实现上传多文件的示例详解

    .NetCore实现上传多文件的示例详解

    本章和大家分享的是.NetCore的MVC框架上传文件的示例,主要讲的内容有:form方式提交上传,ajax上传,ajax提交+上传进度效果,Task并行处理+ajax提交+上传进度,对大家非常有帮助,感兴趣的朋友跟随小编一起学习吧
    2017-04-04
  • .Net Core在程序的任意位置使用和注入服务的方法

    .Net Core在程序的任意位置使用和注入服务的方法

    这篇文章主要介绍了.Net Core在程序的任意位置使用和注入服务的方法,很多朋友对此问题都不是很清楚,于是写这篇文章帮助大家学习,需要的朋友可以参考下
    2018-10-10
  • .NET6中使用CuteEditor详解

    .NET6中使用CuteEditor详解

    本文详细讲解了.NET6中使用CuteEditor的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12
  • ASP.Net MVC 布局页、模板页使用方法详细介绍

    ASP.Net MVC 布局页、模板页使用方法详细介绍

    这篇文章主要介绍了ASP.Net MVC 布局页、模板页使用方法详细介绍,需要的朋友可以参考下
    2017-08-08
  • asp.net实现调用存储过程并带返回值的方法

    asp.net实现调用存储过程并带返回值的方法

    这篇文章主要介绍了asp.net实现调用存储过程并带返回值的方法,结合实例形式较为详细的分析了asp.net存储过程调用的相关技巧,需要的朋友可以参考下
    2016-03-03

最新评论