OleDbCommand.Parameters 屬性

定義

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

屬性值

SQL 語句或儲存程序的參數。 預設是空集合。

屬性

範例

以下範例會建立 並 OleDbCommand 顯示其參數。 為達成此目的,方法會被傳遞一個 OleDbConnection、一個查詢字串(一個 SQL SELECT 語句)以及一個物件陣列 OleDbParameter

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

備註

CommandType 設為 Text時,OLE DB .NET Provider 不支援將參數傳遞給 SQL 陳述式或由 OleDbCommand 呼叫的儲存程序的命名參數。 此時必須使用問號(?)佔位符。 例如:

SELECT * FROM Customers WHERE CustomerID = ?

因此,物件加入OleDbParameterCollection的順序OleDbParameter必須直接對應指令文本中參數問號佔位符的位置。

Note

若集合中的參數與要執行查詢的需求不符,可能會發生錯誤。

欲了解更多資訊,請參閱 「參數與參數資料型態的配置」。

適用於

另請參閱