OracleParameter, classe
Mise à jour : novembre 2007
Représente un paramètre pour OracleCommand et éventuellement son mappage à DataColumn. Cette classe ne peut pas être héritée.
Assembly : System.Data.OracleClient (dans System.Data.OracleClient.dll)
Les noms de paramètres ne respectent pas la casse.
Lorsque vous interrogez une base de données Oracle à l'aide du fournisseur Microsoft OLE DB pour Oracle (MSDAORA) et du fournisseur de données .NET Framework pour ODBC, l'utilisation de la clause LIKE pour interroger les valeurs des champs de longueur fixe peut ne pas retourner toutes les correspondances attendues. Cela s'explique par le fait que, lorsque Oracle recherche des valeurs correspondantes pour les champs de longueur fixe dans une clause LIKE, il fait correspondre la longueur totale de la chaîne, y compris tous les espaces de remplissage à droite. Par exemple, si une table de base de données Oracle contient un champ appelé "Champ1" défini en tant que char(3) et que vous entrez "a" dans une ligne de cette table, le code suivant ne retournera pas la ligne.
string queryString = "SELECT * FROM Table1 WHERE Field1 LIKE ?"; OleDbCommand command = new OleDbCommand(queryString, connection); command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a"; OleDbDataReader reader = command.ExecuteReader();
En effet, Oracle stocke la valeur de colonne sous la forme "a " (en remplissant "a" avec les espaces à gauche, jusqu'à obtention de la longueur de champ fixe qui est 3), ce qu'Oracle ne traite pas comme une correspondance pour la valeur de paramètre de "a" dans le cas d'une comparaison LIKE de champs de longueur fixe.
Pour résoudre ce problème, ajoutez un caractère générique "%" (pourcentage) à la valeur de paramètre ("a%"), ou utilisez une comparaison SQL = à la place.
L'exemple suivant crée plusieurs instances de OracleParameter par l'intermédiaire de OracleParameterCollection figurant dans OracleDataAdapter. Ces paramètres sont utilisés pour sélectionner des données dans la base de données et les placer dans le DataSet. Cet exemple suppose que vous avez déjà créé DataSet et OracleDataAdapter à l'aide du schéma, des commandes et de la connexion appropriés.
System.MarshalByRefObject
System.Data.Common.DbParameter
System.Data.OracleClient.OracleParameter
Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professionnel Édition x64, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98
Le .NET Framework et le .NET Compact Framework ne prennent pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.