共用方式為


OracleCommand.Parameters 屬性

定義

public:
 property System::Data::OracleClient::OracleParameterCollection ^ Parameters { System::Data::OracleClient::OracleParameterCollection ^ get(); };
public System.Data.OracleClient.OracleParameterCollection Parameters { get; }
member this.Parameters : System.Data.OracleClient.OracleParameterCollection
Public ReadOnly Property Parameters As OracleParameterCollection

屬性值

SQL 陳述式或預存程序的參數。 預設為空集合。

範例

下列範例會 OracleCommand 建立 並顯示其參數。 若要達成此目的,方法會傳遞 、 OracleConnectionSQL SELECT 語句的查詢字串,以及對象的陣列 OracleParameter

public void CreateOracleCommand(OracleConnection connection,
    string queryString, OracleParameter[] myParamArray)
{

    OracleCommand command = new OracleCommand(queryString, connection);
    command.CommandText =
        "SELECT * FROM Emp WHERE Job = :pJob AND Sal = :pSal";

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

    string message = "";

    for (int i = 0; i < command.Parameters.Count; i++)
        message += command.Parameters[i].ToString() + "\n";

    Console.WriteLine(message);

    using (OracleDataReader row = command.ExecuteReader())
    {
        while(row.Read())
        {
            Console.WriteLine(row.GetValue(0));
        }
    }
}
Public Sub CreateOracleCommand(ByVal connection As OracleConnection, _
ByVal queryString As String, ByVal prmArray() As OracleParameter)

    Dim command As New OracleCommand(queryString, connection)
    command.CommandText = _
        "SELECT * FROM Emp WHERE Job = :pJob AND Sal = :pSal"

    Dim j As Integer
    For j = 0 To prmArray.Length - 1
        command.Parameters.Add(prmArray(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)

    Dim reader As OracleDataReader = command.ExecuteReader
    While reader.Read
        Console.WriteLine(reader.GetValue(0))
    End While

End Sub

備註

CommandType當屬性設定為 StoredProcedure時,CommandText屬性應該設定為預存程序的名稱。 如果預存程式名稱包含任何特殊字元,則使用者可能需要使用逸出字元語法。 當您在呼叫其中一個 Execute 方法時,命令會執行這個預存程序。

.NET Framework Data Provider for Oracle 不支援問號 (?) 占位元,將參數傳遞至 的OracleCommandCommandType.Text所呼叫的 SQL 語句。 在此情況下,必須使用具名參數。 例如:

SELECT * FROM Customers WHERE CustomerID = :pCustomerID  

在 由 的 CommandType.Text呼叫OracleCommand的 SQL 語句中使用具名參數時,您必須在參數名稱前面加上冒號 (:) 。 不過,在預存程式中,或在程式 (代碼中其他位置參考具名參數時,例如,將物件新增 OracleParameterParameters 屬性) 時,請勿在具名參數前面加上冒號 (:) 。 .NET Framework Oracle 的數據提供者會自動提供冒號。

適用於

另請參閱