SqlCeCommand.ExecuteNonQuery Method
SqlCeConnection に対して SQL ステートメントを実行し、影響を受けた行数を返します。
名前空間: System.Data.SqlServerCe
アセンブリ: System.Data.SqlServerCe (system.data.sqlserverce.dll 内)
構文
'宣言
Public Overrides Function ExecuteNonQuery As Integer
public override int ExecuteNonQuery ()
public:
virtual int ExecuteNonQuery () override
public int ExecuteNonQuery ()
public override function ExecuteNonQuery () : int
戻り値
影響を受けた行数。
例外
例外の種類 | 条件 |
---|---|
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();
スレッド セーフ
この型の public static (Visual Basic では Shared ) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォーム
開発プラットフォーム
Windows Vista、Windows Mobile 5.0、Windows XP Professional with Service Pack 2 (SP2)、Windows Server 2003、Windows Mobile 2003 for Pocket PC、Windows CE 5.0
バージョン情報
.NET Framework および .NET Compact Framework
3.5 でサポート
.NET Framework
3.0 でサポート
.NET Compact Framework および .Net Framework
2.0 でサポート
参照
リファレンス
SqlCeCommand Class
SqlCeCommand Members
System.Data.SqlServerCe Namespace