次の方法で共有


OleDbCommand.Parameters プロパティ

定義

OleDbParameterCollection を取得します。

public:
 property System::Data::OleDb::OleDbParameterCollection ^ Parameters { System::Data::OleDb::OleDbParameterCollection ^ get(); };
public System.Data.OleDb.OleDbParameterCollection Parameters { get; }
[System.Data.DataSysDescription("DbCommand_Parameters")]
public System.Data.OleDb.OleDbParameterCollection Parameters { get; }
member this.Parameters : System.Data.OleDb.OleDbParameterCollection
[<System.Data.DataSysDescription("DbCommand_Parameters")>]
member this.Parameters : System.Data.OleDb.OleDbParameterCollection
Public ReadOnly Property Parameters As OleDbParameterCollection

プロパティ値

SQL ステートメントまたはストアド プロシージャのパラメーター。 既定値は空のコレクションです。

属性

次の例では、 を OleDbCommand 作成し、そのパラメーターを表示します。 これを実現するために、 メソッドには、 、SQL SELECT ステートメントであるクエリ文字列、および オブジェクトのOleDbParameter配列が渡されますOleDbConnection

public void CreateMyOleDbCommand(OleDbConnection connection,
    string queryString, OleDbParameter[] parameters)
{
    OleDbCommand command = new OleDbCommand(queryString, connection);
    command.CommandText =
        "SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?";
    command.Parameters.Add(parameters);

    for (int j=0; j<parameters.Length; j++)
    {
        command.Parameters.Add(parameters[j]) ;
    }

    string message = "";
    for (int i = 0; i < command.Parameters.Count; i++)
    {
        message += command.Parameters[i].ToString() + "\n";
    }
    Console.WriteLine(message);
}
 Public Sub CreateMyOleDbCommand(connection As OleDbConnection, _
   queryString As String, parameters() As OleDbParameter)

    Dim command As New OleDbCommand(queryString, connection)
    command.CommandText = _
       "SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?"
    command.Parameters.Add(parameters)

    Dim j As Integer
    For j = 0 To command.Parameters.Count - 1
       command.Parameters.Add(parameters(j))
    Next j

    Dim message As String = ""
    Dim i As Integer
    For i = 0 To command.Parameters.Count - 1
        message += command.Parameters(i).ToString() + ControlChars.Cr
    Next i
    Console.WriteLine(message)
End Sub

注釈

OLE DB .NET プロバイダーでは、 が にText設定されている場合CommandType、SQL ステートメントまたは によってOleDbCommand呼び出されるストアド プロシージャにパラメーターを渡すための名前付きパラメーターはサポートされていません。 この場合は、疑問符 (?) プレースホルダーを使用する必要があります。 次に例を示します。

SELECT * FROM Customers WHERE CustomerID = ?

したがって、 にオブジェクトを追加OleDbParameterCollectionするOleDbParameter順序は、コマンド テキスト内の パラメーターの疑問符プレースホルダーの位置に直接対応している必要があります。

注意

コレクション内のパラメーターが実行するクエリの要件と一致しない場合は、エラーが発生する可能性があります。

詳細については、「 パラメーターとパラメーター データ型の構成」を参照してください。

適用対象

こちらもご覧ください