メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。
SqlCeParameterCollection を取得します。
Public ReadOnly Property Parameters As SqlCeParameterCollection
[C#]
public SqlCeParameterCollection Parameters {get;}
[C++]
public: __property SqlCeParameterCollection* get_Parameters();
[JScript]
public function get Parameters() : SqlCeParameterCollection;
プロパティ値
SQL ステートメントのパラメータ。既定値は空のコレクションです。
解説
CommandType を Text に設定した場合、.NET Compact Framework Data Provider for SQL Server CE では、 SqlCeCommand が SQL ステートメントを呼び出すときに名前付きパラメータを利用してパラメータを渡すことはできません。疑問符 (?) プレースホルダを使用する必要があります。次に例を示します。 SELECT * FROM Customers WHERE CustomerID = ?
パラメータの疑問符プレースホルダの位置と、 SqlCeParameter オブジェクトを SqlCeParameterCollection に追加する順序とを、直接対応させる必要があります。
メモ コレクションのパラメータが、実行するクエリの要件と一致しない場合は、エラーが発生することがあります。
使用例
[Visual Basic, C#] SqlCeCommand を作成して、 SqlCeParameter オブジェクトの配列を設定する例を次に示します。
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 名前空間 | SqlCeParameter