SqlCeCommand.ExecuteNonQuery 方法
针对 SqlCeConnection 执行 SQL 语句并返回受影响的行数。
命名空间: System.Data.SqlServerCe
程序集: System.Data.SqlServerCe(在 System.Data.SqlServerCe.dll 中)
语法
声明
Public Overrides Function ExecuteNonQuery As Integer
用法
Dim instance As SqlCeCommand
Dim returnValue As Integer
returnValue = instance.ExecuteNonQuery()
public override int ExecuteNonQuery()
public:
virtual int ExecuteNonQuery() override
abstract ExecuteNonQuery : unit -> int
override ExecuteNonQuery : unit -> int
public override function ExecuteNonQuery() : int
返回值
类型:System.Int32
受影响的行数。
实现
异常
异常 | 条件 |
---|---|
InvalidOperationException | 连接不存在。 - 或 - 连接未打开。 - 或 - 不能在最初登记连接的上下文之外的事务上下文中执行命令。 |
注释
您可以使用 ExecuteNonQuery 执行目录操作。例如,您可以使用它来查询数据库的结构或者创建数据库对象(例如表)。还可以通过执行 UPDATE、INSERT 或 DELETE 语句,在不使用 DataSet 的情况下,使用 ExecuteNonQuery 更改数据库中的数据。
重要
ExecuteNonQuery 不使用游标,因此不在数据库上放置锁。如果您要发出需要锁的命令,请不要使用 ExecuteNonQuery,而应使用 ExecuteReader。
对于 UPDATE、INSERT 和 DELETE 语句,返回值为该命令所影响的行数。对于所有其他 DML 语句,返回值都为 -1。
对于 DDL 语句,比如 CREATE TABLE 或 ALTER TABLE,返回值为 0。
备注
此行为不同于 System.Data.SqlClient 的行为。
示例
下面的示例将创建一个 SqlCeCommand,然后使用 ExecuteNonQuery 来执行它。向该示例传递两个字符串:一个是 SQL 语句(如 UPDATE、INSERT 或 DELETE),另一个是用于连接到数据源的字符串。
conn.Open()
Dim cmd As New SqlCeCommand("INSERT INTO foo (col1) VALUES (1)", conn)
cmd.ExecuteNonQuery()
conn.Close()
conn.Open();
SqlCeCommand cmd = new SqlCeCommand("INSERT INTO foo (col1) VALUES (1)", conn);
cmd.ExecuteNonQuery();
conn.Close();