OracleCommand.Parameters Proprietà
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.