次の方法で共有


OdbcCommand.Parameters プロパティ

メモ : この名前空間、クラス、およびメンバは、.NET Framework Version 1.1 だけでサポートされています。

OdbcParameterCollection を取得します。

Public ReadOnly Property Parameters As OdbcParameterCollection
[C#]
public OdbcParameterCollection Parameters {get;}
[C++]
public: __property OdbcParameterCollection* get_Parameters();
[JScript]
public function get Parameters() : OdbcParameterCollection;

プロパティ値

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

解説

CommandTypeText に設定されている場合、.NET Framework Data Provider for ODBC では、 OdbcCommand が呼び出す SQL ステートメントまたはストアド プロシージャにパラメータを渡すための名前付きパラメータを利用できません。これらの場合は、疑問符 (?) プレースホルダを使用してください。次に例を示します。

SELECT * FROM Customers WHERE CustomerID = ?

コマンド テキストのパラメータの疑問符プレースホルダの位置と、 OdbcParameter オブジェクトを OdbcParameterCollection に追加する順序とを、正しく対応させる必要があります。詳細については、「 コマンドによるストアド プロシージャの使用 」を参照してください。

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

使用例

[Visual Basic, C#, C++] OdbcCommand を作成し、そのパラメータを表示する例を次に示します。この例では、 OdbcConnection 、SQL SELECT ステートメントのクエリ文字列、および OdbcParameter オブジェクトの配列がメソッドに渡されます。

 
Public Sub CreateMyOdbcCommand(myConnection As OdbcConnection, _
mySelectQuery As String, myParamArray() As OdbcParameter)
    Dim myCommand As New OdbcCommand(mySelectQuery, myConnection)
    myCommand.CommandText = "SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?"
    myCommand.Parameters.Add(myParamArray)
    Dim j As Integer
    For j = 0 To myCommand.Parameters.Count - 1
       myCommand.Parameters.Add(myParamArray(j))
    Next j
    Dim myMessage As String = ""
    Dim i As Integer
    For i = 0 To myCommand.Parameters.Count - 1
        myMessage += myCommand.Parameters(i).ToString() + ControlChars.Cr
    Next i
    Console.WriteLine(myMessage)
End Sub

[C#] 
public void CreateMyOdbcCommand(OdbcConnection myConnection,
string mySelectQuery, OdbcParameter[] myParamArray) {
   OdbcCommand myCommand = new OdbcCommand(mySelectQuery, myConnection);
   myCommand.CommandText = "SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?";
   myCommand.Parameters.Add(myParamArray);
   for (int j=0; j<myParamArray.Length; j++)
   {
      myCommand.Parameters.Add(myParamArray[j]) ;
   }
   string myMessage = "";
   for (int i = 0; i < myCommand.Parameters.Count; i++) 
   {
      myMessage += myCommand.Parameters[i].ToString() + "\n";
   }
   MessageBox.Show(myMessage);
}

[C++] 
public:
    void CreateMyOdbcCommand(OdbcConnection* myConnection, String* mySelectQuery, OdbcParameter* myParamArray[])
    {
        OdbcCommand* myCommand = new OdbcCommand(mySelectQuery, myConnection);
        myCommand->CommandText = S"SELECT CustomerID, CompanyName FROM Customers WHERE Country = ? AND City = ?";
        myCommand->Parameters->Add(myParamArray);
        for (int j=0; j<myParamArray->Length; j++)
        {
            myCommand->Parameters->Add(myParamArray[j]);
        }

        String* myMessage = S"";
        for (int i = 0; i < myCommand->Parameters->Count; i++)
        {
            myMessage = String::Concat(myMessage, myCommand->Parameters->Item[i], S"\n");
        }
        MessageBox::Show(myMessage);
    };

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

参照

OdbcCommand クラス | OdbcCommand メンバ | System.Data.Odbc 名前空間 | OdbcParameter