OracleCommand.Parameters Właściwość

Definicja

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.The parameters of the SQL statement or stored procedure. Wartością domyślną jest pusta kolekcja.The default is an empty collection.

Przykłady

Poniższy przykład tworzy OracleCommand i wyświetla jego parametry.The following example creates an OracleCommand and displays its parameters. Aby to osiągnąć, metoda jest przenoszona OracleConnection , ciągiem zapytania, który jest instrukcją SELECT języka SQL i tablicą OracleParameter obiektów.To accomplish this, the method is passed an OracleConnection, a query string that is an SQL SELECT statement, and an array of OracleParameter objects.

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

Gdy CommandType Właściwość jest ustawiona na StoredProcedure , CommandText Właściwość powinna być ustawiona na nazwę procedury składowanej.When the CommandType property is set to StoredProcedure, the CommandText property should be set to the name of the stored procedure. Jeśli nazwa procedury składowanej zawiera jakiekolwiek znaki specjalne, może być konieczne użycie składni znaku ucieczki.The user may be required to use escape character syntax if the stored procedure name contains any special characters. Polecenie wykonuje tę procedurę składowaną po wywołaniu jednej z metod Execute.The command executes this stored procedure when you call one of the Execute methods.

Dostawca danych .NET Framework dla programu Oracle nie obsługuje symbolu zastępczego znaku zapytania (?) do przekazywania parametrów do instrukcji SQL wywołanej przez OracleCommand CommandType.Text .The .NET Framework Data Provider for Oracle does not support the question mark (?) placeholder for passing parameters to an SQL statement called by an OracleCommand of CommandType.Text. W takim przypadku należy użyć parametrów nazwanych.In this case, named parameters must be used. Na przykład:For example:

SELECT * FROM Customers WHERE CustomerID = :pCustomerID  

W przypadku używania parametrów nazwanych w instrukcji SQL wywołanej przez element OracleCommand CommandType.Text , należy poprzedzić nazwę parametru średnikiem (:).When using named parameters in an SQL statement called by an OracleCommand of CommandType.Text, you must precede the parameter name with a colon (:). Jednakże w procedurze składowanej lub w przypadku odwoływania się do nazwanego parametru w innym miejscu kodu (na przykład podczas dodawania OracleParameter obiektów do Parameters Właściwości) nie poprzedzaj nazwanego parametru średnikiem (:).However, in a stored procedure, or when referring to a named parameter elsewhere in your code (for example, when adding OracleParameter objects to the Parameters property), do not precede the named parameter with a colon (:). .NET Framework Dostawca danych dla firmy Oracle automatycznie udostępnia dwukropek.The .NET Framework Data Provider for Oracle supplies the colon automatically.

Dotyczy

Zobacz też