Udostępnij za pośrednictwem


OracleCommand.Parameters Właściwość

Definicja

Pobiera klasę OracleParameterCollection.

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

Wartość właściwości

Parametry instrukcji SQL lub procedury składowanej. Wartością domyślną jest pusta kolekcja.

Przykłady

Poniższy przykład tworzy element OracleCommand i wyświetla jego parametry. Aby to osiągnąć, metoda jest przekazywana OracleConnectionjako ciąg zapytania, który jest instrukcją SQL SELECT i tablicą OracleParameter obiektów.

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

Uwagi

CommandType Gdy właściwość jest ustawiona na StoredProcedure, CommandText właściwość powinna być ustawiona na nazwę procedury składowanej. Użytkownik może być zobowiązany do używania składni znaków ucieczki, jeśli nazwa procedury składowanej zawiera znaki specjalne. Polecenie wykonuje tę procedurę składowaną podczas wywoływania jednej z metod Execute.

Dostawca danych .NET Framework dla oracle nie obsługuje symbolu zastępczego znaku zapytania (?) do przekazywania parametrów do instrukcji SQL wywoływanej przez OracleCommandCommandType.Textelement . W takim przypadku należy użyć nazwanych parametrów. Na przykład:

SELECT * FROM Customers WHERE CustomerID = :pCustomerID  

W przypadku używania nazwanych parametrów w instrukcji SQL wywoływanej przez element , należy poprzedzić nazwę parametru dwukropkiem OracleCommandCommandType.Text(:). Jednak w procedurze składowanej lub w przypadku odwoływania się do nazwanego parametru w innym miejscu w kodzie (na przykład podczas dodawania OracleParameter obiektów do Parameters właściwości) nie poprzedzaj nazwanego parametru dwukropkiem (:). Dostawca danych .NET Framework dla oracle automatycznie dostarcza dwukropek.

Dotyczy

Zobacz też