Teilen über


OracleCommand.Parameters Eigenschaft

Definition

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

Eigenschaftswert

Die Parameter der SQL-Anweisung bzw. der gespeicherten Prozedur. Der Standard ist eine leere Auflistung.

Beispiele

Im folgenden Beispiel wird ein OracleCommand erstellt und die zugehörigen Parameter angezeigt. Um dies zu erreichen, wird der -Methode ein OracleConnectionübergeben, eine Abfragezeichenfolge, die eine SQL SELECT-Anweisung ist, und ein Array von OracleParameter -Objekten.

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

Hinweise

Wenn die CommandType -Eigenschaft auf StoredProcedurefestgelegt ist, sollte die CommandText -Eigenschaft auf den Namen der gespeicherten Prozedur festgelegt werden. Der Benutzer muss möglicherweise Escapezeichensyntax verwenden, wenn der Name der gespeicherten Prozedur Sonderzeichen enthält. Diese gespeicherte Prozedur wird vom Befehl ausgeführt, wenn Sie eine der Execute-Methoden aufrufen.

Der .NET Framework-Datenanbieter für Oracle unterstützt nicht den Fragezeichenplatzhalter (?) zum Übergeben von Parametern an eine SQL-Anweisung namens von OracleCommandCommandType.Text. In diesem Fall müssen benannte Parameter verwendet werden. Beispiel:

SELECT * FROM Customers WHERE CustomerID = :pCustomerID  

Wenn Sie benannte Parameter in einer SQL-Anweisung verwenden, die von aufgerufen wird OracleCommandCommandType.Text, müssen Sie dem Parameternamen einen Doppelpunkt (:). In einer gespeicherten Prozedur oder beim Verweisen auf einen benannten Parameter an anderer Stelle im Code (z. B. beim Hinzufügen OracleParameter von Objekten zur Parameters -Eigenschaft) wird dem benannten Parameter jedoch kein Doppelpunkt (:)) vorangestellt. Der .NET Framework Datenanbieter für Oracle stellt den Doppelpunkt automatisch bereit.

Gilt für:

Weitere Informationen