SqlCeCommand.Prepare メソッド
メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。
データ ソースに対する準備済み (コンパイル済み) のコマンドを作成します。
Public Overridable Sub Prepare() Implements IDbCommand.Prepare
[C#]
public virtual void Prepare();
[C++]
public: virtual void Prepare();
[JScript]
public function Prepare();
実装
例外
例外の種類 | 条件 |
---|---|
InvalidOperationException | Connection が設定されていません。
または Connection が Open ではありません。 |
解説
CommandType プロパティを TableDirect に設定したときは、 Prepare では何も実行されません。
Prepare を呼び出す前に、準備するステートメントの各パラメータのデータ型を指定します。可変長データ型のパラメータの場合は、 Size プロパティを、必要な最大サイズに設定する必要があります。これらの条件が満たされていない場合は、 Prepare からエラーが返されます。
Prepare を呼び出した後で Execute メソッドを呼び出すと、 Size プロパティに指定した値よりも大きいパラメータ値は、パラメータで指定したサイズに自動的に切り詰められます。このとき、切り捨てエラーは返されません。
使用例
Public Sub SqlCeCommandPrepare()
Dim id As Integer = 20
Dim desc As String = "myFirstRegion"
Dim conn As SqlCeConnection = New SqlCeConnection("Data Source = Northwind.sdf;")
conn.Open()
Dim command As SqlCeCommand = conn.CreateCommand()
' Create and prepare a SQL statement.
command.CommandText = "INSERT INTO Region (RegionID, RegionDescription) VALUES (?, ?)"
' Note: Even though named parameterized queries are not supported, we still need
' to provide unique parameter names so that we can manipulate parameter collection;
command.Parameters.Add("@id", id)
command.Parameters.Add("@desc", desc)
' Calling Prepare after having set the Commandtext and parameters.
command.Prepare()
command.ExecuteNonQuery()
' Change parameter values and call ExecuteNonQuery.
command.Parameters(0).Value = 21
command.Parameters(1).Value = "mySecondRegion"
command.ExecuteNonQuery()
End Sub
[C#]
public void SqlCeCommandPrepareEx() {
int id = 20;
string desc = "myFirstRegion" ;
SqlCeConnection conn = new SqlCeConnection("Data Source = Northwind.sdf;");
conn.Open();
SqlCeCommand command = conn.CreateCommand();
// Create and prepare a SQL statement.
command.CommandText = "INSERT INTO Region (RegionID, RegionDescription) VALUES (?, ?)";
// Note: Even though named parameterized queries are not supported, we still need
// to provide unique parameter names so that we can manipulate parameter collection;
command.Parameters.Add( "@id", id) ;
command.Parameters.Add( "@desc", desc) ;
// Calling Prepare after having set the Commandtext and parameters.
command.Prepare() ;
command.ExecuteNonQuery();
// Change parameter values and call ExecuteNonQuery again.
command.Parameters[0].Value = 21;
command.Parameters[1].Value = "mySecondRegion";
command.ExecuteNonQuery();
}
[C++, JScript] C++ および JScript のサンプルはありません。Visual Basic および C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: .NET Compact Framework - Windows CE .NET
.NET Framework セキュリティ:
- 直前の呼び出し元の完全信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細の参照先 : 部分信頼コードからのライブラリの使用
参照
SqlCeCommand クラス | SqlCeCommand メンバ | System.Data.SqlServerCe 名前空間