前些日子作一些数据项目的时候 在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 等三种 Execute 方法总结 ExecuteNonQuery 方法、ExecuteScalar 方法和 dataReader 是 ADO.NET 中的三个重要的执行 SQL 语句的方法,每个方法都有其特点和应用场景,了解它们之间的差异是非常重要...
SqlCommand_ExecuteNonQuery方法是.NET Framework中的SQL Server数据访问组件SQLClient的一部分,主要用于执行那些不返回结果集的SQL语句,如INSERT、UPDATE、DELETE等DML操作,以及创建表、索引等DDL语句。...
本讲将重点关注"ExecuteNonQuery"方法的使用,这是在.NET框架中处理SQL命令时的一个关键功能,尤其适用于执行非查询操作,如插入、更新或删除记录。 首先,`ExecuteNonQuery`方法是`System.Data.SqlClient....
ExecuteNonQuery 方法用于执行增、删、改操作,而 ExecuteReader 方法用于执行查询操作。 在本文档中,我们将使用 ExecuteNonQuery 方法来执行增、删、改操作。ExecuteNonQuery 方法将返回受影响的记录数,可以用于...
ExecuteNonQuery 方法用于执行不返回结果的 SQL 语句,例如 INSERT、UPDATE 和 DELETE 语句。ExecuteScalar 方法用于执行返回结果的 SQL 语句,例如 SELECT 语句。 三、登录界面设计 登录界面包含三个控件:用户名...
本文实例讲述了C#中ExecuteNonQuery()返回值注意点。...SqlCommand.ExecuteNonQuery 方法对连接执行 Transact-SQL 语句并返回受影响的行数。 备注:可以使用 ExecuteNonQuery 来执行目录操作(例如查询数据库的结构或创
ExecuteNonQuery方法用于执行不会返回结果集的SQL语句,如INSERT、UPDATE、DELETE等DML操作。它返回的是受影响的行数,可以帮助开发者了解操作的影响范围。例如,如果执行了一个插入新学生的SQL语句,...
1. **ExecuteNonQuery 方法** - **定义**: ```csharp public static int ExecuteNonQuery(string connectionString, CommandType commandType, string commandText) ``` - **说明**: 此方法用于执行指定连接...
C#连接sql数据库执行...需要掌握连接数据库、执行增删改查操作、参数化查询、执行结果、数据库连接串、SQL语句、参数、ExecuteNonQuery方法、Windows身份验证、数据库服务器名称、数据库名称、增删改查操作等知识点。
### ExecuteNonQuery 方法(针对现有数据库连接) 此方法用于执行不返回结果集的 Oracle 命令,如 INSERT、UPDATE 或 DELETE 操作。它接受以下几个参数: - `conn`:现有的数据库连接。 - `commandType`:命令类型...
##### 2.3 ExecuteNonQuery方法 `ExecuteNonQuery`方法是`SqlHelper`类中最常用的方法之一,用于执行不返回结果集的数据库操作,如执行存储过程或执行SQL语句。此方法接受连接字符串、命令类型(如存储过程或文本...
ExecuteNonQuery方法用于执行不返回结果集的操作,如INSERT、UPDATE、DELETE等SQL命令。而ExecuteScalar方法用于执行返回单个值的SQL命令,如聚合函数等。 ***对象模型简介 ***是Microsoft在.NET平台上推出的数据库...
增(Insert)操作:在ADO.NET中,我们可以使用Command对象的ExecuteNonQuery方法执行INSERT语句。首先,创建一个SqlConnection对象并打开连接,然后创建SqlCommand对象,设置其CommandText属性为INSERT语句,并将...
本文将详细解析一个具体的C#数据库操作公用类,该类提供了三个主要方法:`ExecuteReader`、`ExecuteNonQuery`和`ExecuteScalar`,用于分别实现读取数据、执行非查询(如插入、更新或删除)和获取单个值的操作。...
在这个例子中,你可以根据需要添加参数(如@param1和@param2),并为其赋值,然后调用ExecuteNonQuery方法执行存储过程。注意,存储过程可能包括插入(insert)、删除(delete)或更新(update)等操作。 除了上述...
4. 执行命令:通过SqlCommand对象的ExecuteNonQuery方法执行删除命令,该方法返回受影响的行数,通常在删除操作中为1(如果成功)。 二、Entity Framework 1. 创建上下文:使用DbContext类创建数据库上下文,这是...
- 编辑数据:使用UPDATE SET语句修改已有数据,设置SqlCommand对象的CommandText属性,然后执行ExecuteNonQuery方法。 - 查找数据:利用SELECT语句获取数据,可以使用ExecuteReader方法获取数据读取器,或者使用...
对于“增”,即添加图书信息,开发者可能需要设计一个表单让用户输入图书的相关信息,如书名、作者、出版社等,然后使用Command对象的ExecuteNonQuery方法执行INSERT SQL语句,将数据插入到数据库中。 “删”操作...
5. **ExecuteNonQuery方法**:这个方法用于执行不返回任何结果集的SQL语句,如INSERT、DELETE、UPDATE等。它返回受操作影响的行数,以便于知道有多少记录被修改。 6. **ExecuteScalar方法**:这个方法执行SQL查询并...
2. **ExecuteNonQuery方法**: - 此方法用于执行非查询操作,如INSERT、UPDATE、DELETE等SQL语句,返回值为受影响的行数。 - 方法接收两个参数:`cmdText`,存储过程名或PL/SQL命令;`commandParameters`,一个可...