OracleCommand.Parameters OracleCommand.Parameters OracleCommand.Parameters OracleCommand.Parameters Property

Definizione

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

Valore della proprietà

Parametri dell'istruzione SQL o della stored procedure.The parameters of the SQL statement or stored procedure. Il valore predefinito è una raccolta vuota.The default is an empty collection.

Esempi

L'esempio seguente crea un OracleCommand e consente di visualizzare i relativi parametri.The following example creates an OracleCommand and displays its parameters. A tale scopo, il metodo viene passata un' OracleConnection, una stringa di query che è un'istruzione SQL SELECT e una matrice di OracleParameter oggetti.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

Commenti

Quando la CommandType è impostata su StoredProcedure, il CommandText proprietà deve essere impostata sul nome della stored procedure.When the CommandType property is set to StoredProcedure, the CommandText property should be set to the name of the stored procedure. L'utente potrebbe essere necessario utilizzare la sintassi dei caratteri di escape se il nome della stored procedure contiene caratteri speciali.The user may be required to use escape character syntax if the stored procedure name contains any special characters. Il comando esegue questa stored procedure quando si chiama uno dei metodi Execute.The command executes this stored procedure when you call one of the Execute methods.

Il Provider di dati .NET Framework per Oracle non supporta il segnaposto punto interrogativo (?) per passare parametri a un'istruzione SQL chiamato da un OracleCommand di 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. In questo caso, è necessario utilizzare parametri denominati.In this case, named parameters must be used. Ad esempio:For example:

SELECT * FROM Customers WHERE CustomerID = :pCustomerID  

Quando utilizzano parametri denominati in un'istruzione SQL chiamato da un OracleCommand di CommandType.Text, è necessario far precedere il nome del parametro con i due punti (:).When using named parameters in an SQL statement called by an OracleCommand of CommandType.Text, you must precede the parameter name with a colon (:). Tuttavia, in una stored procedure o quando si fa riferimento a un parametro denominato altrove nel codice (ad esempio, quando si aggiunge OracleParameter gli oggetti per il Parameters proprietà), non precedono il parametro denominato con i due punti (:).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 (:). Il Provider di dati .NET Framework per Oracle fornisce automaticamente i due punti.The .NET Framework Data Provider for Oracle supplies the colon automatically.

Si applica a

Vedi anche