`
ajuanlong
  • 浏览: 105293 次
社区版块
存档分类
最新评论

ExecuteNonQuery()方法

 
阅读更多

前些日子作一些数据项目的时候 在ADO.NET 中处理 ExecuteNonQuery()方法时,总是通过判断其返回值是否大于0来判断操作时候成功 。但是实际上并不是这样的,好在处理的数据操作多时修改, 插入, 删除,否则的话问题就有点打了,都是些基础的知识,但是很重要个人觉得有必要记下来。

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

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

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());

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

分享到:
评论

相关推荐

    SqlCommand_ExecuteNonQuery方法

    SqlCommand_ExecuteNonQuery方法,亲自运行过,没有问题初学者参考

    ExecuteNOnQuery等三种ExecuteNonQuery方法总结

    ExecuteNOnQuery ExecuteScalar dataReader 等方法总结,让你明白其中的道理,在编程中不会犯错误

    【第二讲数据库查询】-02B-ExecuteNonQuery方法使用.rar )

    【第二讲数据库查询】-02B-ExecuteNonQuery方法使用.rar )

    C#中ExecuteNonQuery()返回值注意点分析

    本文实例讲述了C#中ExecuteNonQuery()返回值注意点。...SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。 备注:可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创

    解决方案:ExecuteNonQuery()在调用存储过程时始终返回-1

    ExecuteNonQuery()的解决方案在调用存储过程时始终返回-1

    C#全能速查宝典

    《C#全能速查宝典》共分为8章,分别介绍了C#语言基础、Windows窗体及常用控件、Windows高级控件、控件公共属性、方法及事件、数据库开发、文件、数据流与注册表、GDI+绘图技术和C#高级编程,共包含562个C#编程中常用...

    ASP.NET3.5从入门到精通

    7.8.1 ExecuteNonQuery 方法 7.8.2 ExecuteNonQuery 执行存储过程 7.8.3 ExecuteScalar 方法 7.9 DataSet 数据集对象 7.9.1 DataSet 数据集基本对象 7.9.2 DataTable 数据表对象 7.9.3 DataRow 数据行对象 7.9.4 ...

    数据库访问类,数据阅读器,数据集

    ExecuteNonQuery方法,ExecuteDataset方法,ExecuteReader 数据阅读器,UpdateDataset 更新数据集,等等

    ASP.NET 3.5 开发大全word课件

    7.8.1 ExecuteNonQuery方法 7.8.2 ExecuteNonQuery执行存储过程 7.8.3 ExecuteScalar方法 7.9 DataSet数据集对象 7.9.1 DataSet数据集基本对象 7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView...

    ASP.NET 3.5 开发大全11-15

    7.8.1 ExecuteNonQuery方法 7.8.2 ExecuteNonQuery执行存储过程 7.8.3 ExecuteScalar方法 7.9 DataSet数据集对象 7.9.1 DataSet数据集基本对象 7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView...

    ASP.NET 3.5 开发大全

    7.8.1 ExecuteNonQuery方法 7.8.2 ExecuteNonQuery执行存储过程 7.8.3 ExecuteScalar方法 7.9 DataSet数据集对象 7.9.1 DataSet数据集基本对象 7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView...

    ASPNET35开发大全第一章

    7.8.1 ExecuteNonQuery方法 7.8.2 ExecuteNonQuery执行存储过程 7.8.3 ExecuteScalar方法 7.9 DataSet数据集对象 7.9.1 DataSet数据集基本对象 7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView...

    ASP.NET 3.5 开发大全1-5

    7.8.1 ExecuteNonQuery方法 7.8.2 ExecuteNonQuery执行存储过程 7.8.3 ExecuteScalar方法 7.9 DataSet数据集对象 7.9.1 DataSet数据集基本对象 7.9.2 DataTable数据表对象 7.9.3 DataRow数据行对象 7.9.4 DataView...

    ExecuteNonQuery();ExecuteReader();ExecuteScalar();的简单用法

    数据库几个方法ExecuteNonQuery();ExecuteReader();ExecuteScalar();的简单用法

    asp.net EXECUTENONQUERY()返回值介绍

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

    vc 下操作sqlite的类

    在vc下操作sqlite的类,实现了ExecuteScalar,ExecuteQueryTable,ExecuteNonQuery,事务等方法。 另外,依照c#下的Datatable类,写了一个vc下的该类,可以将sqlite的表直接写到该类中,方便操作。 有vs2008和vc6.0两...

    ADO.NET在开发中的部分使用方法和技巧

    ADO.NET在开发中的部分使用方法和技巧ADO.NET在开发中的部分使用方法和技巧ADO.NET在开发中的部分使用方法和技巧ADO.NET在开发中的部分使用方法和技巧ADO.NET在开发中的部分使用方法和技巧ADO.NET在开发中的部分使用...

    .NET连接MS数据库的类

    ExecuteNonQuery()方法执行SQL语句并且不返回数据;ExecuteReader()方法将SQL命令发送给SqlConnection并生成一个SqlDataReader类对象,该SqlDataReader对象包含SQL命令返回的数据;ExecuteScalar()方法执行SQL查询,...

    c#操作数据库,史上最牛逼的方法,你见过这种方法吗?

    var sdfsf21 = Sql.ExecuteNonQuery((a, b) => Sub.Update(a).Set(a.RoleId == u1.RoleId, a.LoginPassword == irod.ToString(), a.UserName == "2").From(a). InnerJoin(b).On(a.UserId == b.CategoryId) .Where...

Global site tag (gtag.js) - Google Analytics