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 命名空間