OracleCommand.Parameters Proprietà

Definizione

Ottiene l'oggetto 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

Valore della proprietà

Parametri dell'istruzione SQL o della stored procedure. Il valore predefinito è una raccolta vuota.

Esempio

Nell'esempio seguente viene creato un oggetto OracleCommand e vengono visualizzati i relativi parametri. A tale scopo, il metodo viene passato a OracleConnection, una stringa di query che è un'istruzione SQL SELECT e una matrice di OracleParameter oggetti .

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 proprietà è impostata su StoredProcedure, la CommandText proprietà deve essere impostata sul nome della stored procedure. Se il nome della stored procedure contiene caratteri speciali, potrebbe essere necessario utilizzare la sintassi dei caratteri di escape. Il comando eseguirà la stored procedure quando si chiama uno dei metodi Execute.

Il provider di dati .NET Framework per Oracle non supporta il segnaposto punto interrogativo (?) per il passaggio di parametri a un'istruzione SQL chiamata da un OracleCommand di CommandType.Text. In questo caso, è necessario usare i parametri denominati. Ad esempio:

SELECT * FROM Customers WHERE CustomerID = :pCustomerID  

Quando si usano parametri denominati in un'istruzione SQL chiamata da OracleCommandCommandType.Text, è necessario precedere il nome del parametro con due punti (:). Tuttavia, in una stored procedure o quando si fa riferimento a un parametro denominato altrove nel codice (ad esempio, quando si aggiungono OracleParameter oggetti alla Parameters proprietà), non precedere il parametro denominato con due punti (:). Il provider di dati .NET Framework per Oracle fornisce automaticamente i due punti.

Si applica a

Vedi anche