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

OracleParameterCollection

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

Przykłady

Poniższy przykład tworzy obiekt OracleCommand i wyświetla jego parametry. Aby to osiągnąć, metoda jest przekazywana , OracleConnectioncią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 StoredProcedurewartość , 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 jakiekolwiek znaki specjalne. Polecenie wykonuje tę procedurę składowaną podczas wywoływania jednej z metod Execute.

Symbol zastępczy .NET Framework Dostawca danych dla programu Oracle nie obsługuje symbolu zastępczego znaku zapytania (?) do przekazywania parametrów do instrukcji SQL wywoływanej CommandType.Textprzez element OracleCommand . 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 OracleCommand CommandType.Text, należy poprzedzić nazwę parametru dwukropkiem (:). 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 (:). .NET Framework Dostawca danych dla oracle automatycznie dostarcza dwukropek.

Dotyczy

Zobacz też