ExecuteNonQuery()方法
来源:互联网 发布:python 多个文本相似度 编辑:程序博客网 时间:2024/06/06 09:15
前些日子作一些数据项目的时候 在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' 的对象。
- ExecuteNonQuery()方法
- ExecuteNonQuery方法教训
- ExecuteNonQuery方法教训
- ExecuteScalar()与ExecuteNonQuery 方法
- SqlCommand.ExecuteNonQuery 方法
- ExecuteNonQuery() 方法 select
- 奇妙的ExecuteNonQuery()方法
- 关于ExecuteNonQuery() 方法
- ExecuteNonQuery 方法的返回值
- ExecuteNonQuery() 方法 select 返回-1
- ExecuteNonQuery
- ExecuteScalar方法和 ExecuteNonQuery方法的区别
- ExecuteNonQuery方法和ExecuteScalar方法的区别
- ExecuteNonQuery方法和ExecuteScalar方法的区别
- ExecuteNonQuery()方法和ExecuteScalar()方法区别
- SqlCommand对象-ExecuteNonQuery()方法的使用
- ExecuteScalar()与ExecuteNonQuery ()方法怎么用
- ExecuteScalar()与ExecuteNonQuery 方法怎么用
- 如果不讲信用,那就是在透支未来。
- tomcat 启动报错 java.lang.Exception: Socket bind failed
- Struts2配置文件讲解
- Davinci encode分析(DM355)
- android语音识别
- ExecuteNonQuery()方法
- C++ primer第二次阅读学习笔记(第15章:面向对象编程)
- matlab画图基本函数和参数之plot
- android上层应用apk到G-sensor driver的大致流程
- hyper-v 系统无法在消息文件中为xxx找到消息号为0xxx的消息文本
- iPad阅读应用横向评测: 普通&2B&文学青年的碰撞
- 5.24
- Eval绑定的日期转换
- 一个有意思的小细节