OracleCommand.Parameters Propriété
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient 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
Valeur de propriété
Les paramètres de la procédure stockée ou de l’instruction SQL. La valeur par défaut est une collection vide.
Exemples
L’exemple suivant crée un OracleCommand et affiche ses paramètres. Pour ce faire, la méthode est passée à un OracleConnection, une chaîne de requête qui est une instruction SQL SELECT et un tableau d’objets OracleParameter .
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
Remarques
Lorsque la propriété a la CommandTypeStoredProcedure
valeur , la CommandText propriété doit être définie sur le nom de la procédure stockée. L’utilisateur peut être amené à utiliser la syntaxe des caractères d’échappement si le nom de la procédure stockée contient des caractères spéciaux. La commande exécute cette procédure stockée lorsque vous appelez l'une des méthodes Execute.
Le fournisseur de données .NET Framework pour Oracle ne prend pas en charge l’espace réservé de point d’interrogation ( ?) pour passer des paramètres à une instruction SQL appelée par un OracleCommand de CommandType.Text
. Dans ce cas, des paramètres nommés doivent être utilisés. Exemple :
SELECT * FROM Customers WHERE CustomerID = :pCustomerID
Lorsque vous utilisez des paramètres nommés dans une instruction SQL appelée par un OracleCommand de CommandType.Text
, vous devez faire précéder le nom du paramètre d’un signe deux-points (:). Toutefois, dans une procédure stockée, ou lorsque vous faites référence à un paramètre nommé ailleurs dans votre code (par exemple, lors de l’ajout OracleParameter d’objets à la Parameters propriété), ne faites pas précéder le paramètre nommé d’un signe deux-points (:). Le fournisseur de données .NET Framework pour Oracle fournit automatiquement les deux-points.