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 を使用して、カタログ操作を実行できます。たとえば、これを使用してデータベース構造を照会したり、テーブルなどのデータベース オブジェクトを作成したりできます。また、ExecuteNonQuery を使用すると、DataSet を使用せずに UPDATE、INSERT、DELETE ステートメントを実行して、データベースのデータを変更できます。
重要
ExecuteNonQuery では、カーソルが使用されません。そのため、データベースにロックが設定されません。ロックが必要なコマンドを実行する場合は、ExecuteNonQuery を使用しないでください。代わりに、ExecuteReader を使用します。
UPDATE、INSERT、DELETE の各ステートメントでは、戻り値はそのコマンドの影響を受ける行の数です。その他のすべての DML ステートメントでの戻り値は、-1 です。
CREATE TABLE や ALTER TABLE などの DDL ステートメントでの戻り値は、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();