Share via


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
受影响的行数。

实现

IDbCommand.ExecuteNonQuery()

异常

异常 条件
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();

请参阅

参考

SqlCeCommand 类

System.Data.SqlServerCe 命名空间