OleDbParameter Classe
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.
Représente un paramètre passé à OleDbCommand et éventuellement son mappage à une colonne DataSet. Cette classe ne peut pas être héritée.
public ref class OleDbParameter sealed : System::Data::Common::DbParameter, ICloneable
public ref class OleDbParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))]
public sealed class OleDbParameter : System.Data.Common.DbParameter, ICloneable
[System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameterConverter))]
public sealed class OleDbParameter : MarshalByRefObject, ICloneable, System.Data.IDbDataParameter
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))>]
type OleDbParameter = class
inherit DbParameter
interface IDataParameter
interface IDbDataParameter
interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameterConverter))>]
type OleDbParameter = class
inherit MarshalByRefObject
interface IDbDataParameter
interface IDataParameter
interface ICloneable
[<System.ComponentModel.TypeConverter(typeof(System.Data.OleDb.OleDbParameter+OleDbParameterConverter))>]
type OleDbParameter = class
inherit DbParameter
interface ICloneable
interface IDbDataParameter
interface IDataParameter
Public NotInheritable Class OleDbParameter
Inherits DbParameter
Implements ICloneable
Public NotInheritable Class OleDbParameter
Inherits MarshalByRefObject
Implements ICloneable, IDbDataParameter
- Héritage
- Héritage
- Attributs
- Implémente
Exemples
L’exemple suivant crée plusieurs instances de OleDbParameter via la OleDbParameterCollection collection dans le OleDbDataAdapter. Ces paramètres sont utilisés pour sélectionner des données à partir de la source de données et placer les données dans le DataSet. Cet exemple suppose qu’un DataSet et un OleDbDataAdapter ont déjà été créés à l’aide du schéma, des commandes et de la connexion appropriés.
public DataSet GetDataSetFromAdapter(
DataSet dataSet, string connectionString, string queryString)
{
using (OleDbConnection connection =
new OleDbConnection(connectionString))
{
OleDbDataAdapter adapter =
new OleDbDataAdapter(queryString, connection);
// Set the parameters.
adapter.SelectCommand.Parameters.Add(
"@CategoryName", OleDbType.VarChar, 80).Value = "toasters";
adapter.SelectCommand.Parameters.Add(
"@SerialNum", OleDbType.Integer).Value = 239;
// Open the connection and fill the DataSet.
try
{
connection.Open();
adapter.Fill(dataSet);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
// The connection is automatically closed when the
// code exits the using block.
}
return dataSet;
}
Public Function GetDataSetFromAdapter( _
ByVal dataSet As DataSet, ByVal connectionString As String, _
ByVal queryString As String) As DataSet
Using connection As New OleDbConnection(connectionString)
Dim adapter As New OleDbDataAdapter(queryString, connection)
' Set the parameters.
adapter.SelectCommand.Parameters.Add( _
"@CategoryName", OleDbType.VarChar, 80).Value = "toasters"
adapter.SelectCommand.Parameters.Add( _
"@SerialNum", OleDbType.Integer).Value = 239
' Open the connection and fill the DataSet.
Try
connection.Open()
adapter.Fill(dataSet)
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
' The connection is automatically closed when the
' code exits the Using block.
End Using
Return dataSet
End Function
Remarques
Le fournisseur de données OLE DB.NET Framework utilise des paramètres de position marqués avec un point d’interrogation ( ?) au lieu de paramètres nommés.
Lors de l’interrogation d’une base de données Oracle à l’aide du Fournisseur Microsoft OLE DB pour Oracle (MSDAORA) et du fournisseur de données OLE DB.NET Framework, l’utilisation de la LIKE
clause pour interroger des valeurs dans des champs de longueur fixe peut ne pas renvoyer toutes les correspondances attendues. La raison en est que quand Oracle correspond à des valeurs pour des champs de longueur fixe dans une LIKE
clause, il correspond à la longueur entière de la chaîne, y compris les espaces de fin de remplissage. Par exemple, si une table d’une base de données Oracle contient un champ nommé « Field1 » défini comme char(3)
, et que vous entrez la valeur « a » dans une ligne de cette table, le code suivant ne retourne pas la ligne.
Dim queryString As String = "SELECT * FROM Table1 WHERE Field1 LIKE ?"
Dim command As OleDbCommand = New OleDbCommand(queryString, connection)
command.Parameters.Add("@p1", OleDbType.Char, 3).Value = "a"
Dim reader As OleDbDataReader = command.ExecuteReader()
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();
Cela est dû au fait qu’Oracle stocke la valeur de colonne en tant que « a » (remplissage « a », avec des espaces de fin, à la longueur de champ fixe de 3), qu’Oracle ne traite pas comme une correspondance pour la valeur de paramètre de « a » dans le cas d’une LIKE
comparaison de champs de longueur fixe.
Pour résoudre ce problème, ajoutez un caractère générique pourcentage (« % ») à la valeur du paramètre ("a%"
) ou utilisez une comparaison SQL =
à la place.
Constructeurs
OleDbParameter() |
Initialise une nouvelle instance de la classe OleDbParameter. |
OleDbParameter(String, Object) |
Initialise une nouvelle instance de la classe OleDbParameter qui utilise le nom du paramètre et la valeur du nouveau OleDbParameter. |
OleDbParameter(String, OleDbType) |
Initialise une nouvelle instance de la classe OleDbParameter qui utilise le nom du paramètre et le type de données. |
OleDbParameter(String, OleDbType, Int32) |
Initialise une nouvelle instance de la classe OleDbParameter qui utilise le nom du paramètre, le type de données et la longueur. |
OleDbParameter(String, OleDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object) |
Initialise une nouvelle instance de la classe OleDbParameter qui utilise le nom du paramètre, le type de données, la longueur, le nom de la colonne source, la direction du paramètre, la précision numérique et d’autres propriétés. |
OleDbParameter(String, OleDbType, Int32, ParameterDirection, Byte, Byte, String, DataRowVersion, Boolean, Object) |
Initialise une nouvelle instance de la classe OleDbParameter qui utilise le nom du paramètre, le type de données, la longueur, le nom de la colonne source, la direction du paramètre, la précision numérique et d’autres propriétés. |
OleDbParameter(String, OleDbType, Int32, String) |
Initialise une nouvelle instance de la classe OleDbParameter qui utilise le nom du paramètre, le type de données, la longueur et le nom de la colonne source. |
Propriétés
DbType |
Obtient ou définit le DbType du paramètre. |
Direction |
Obtient ou définit une valeur qui indique si le paramètre est un paramètre d'entrée uniquement, de sortie uniquement, bidirectionnel ou de valeur de retour d'une procédure stockée. |
IsNullable |
Obtient ou définit une valeur qui indique si le paramètre accepte les valeurs Null. |
OleDbType |
Obtient ou définit le OleDbType du paramètre. |
ParameterName |
Obtient ou définit le nom de l'objet OleDbParameter. |
Precision |
Obtient ou définit le nombre maximal de chiffres utilisés pour représenter la propriété Value. |
Scale |
Obtient ou définit le nombre de décimales appliqué à la résolution de Value. |
Size |
Obtient ou définit la taille maximale, en octets, des données dans la colonne. |
SourceColumn |
Obtient ou définit le nom de la colonne source mappée à DataSet et utilisée pour charger et retourner Value. |
SourceColumnNullMapping |
Obtient ou définit une valeur qui indique si la colonne source accepte la valeur Null. Ainsi, DbCommandBuilder peut générer correctement des instructions Update pour les colonnes qui acceptent la valeur Null. |
SourceVersion |
Obtient ou définit le DataRowVersion à utiliser lors du chargement de Value. |
Value |
Obtient ou définit la valeur du paramètre. |
Méthodes
CreateObjRef(Type) |
Crée un objet contenant toutes les informations appropriées requises pour générer un proxy permettant de communiquer avec un objet distant. (Hérité de MarshalByRefObject) |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetLifetimeService() |
Obsolète.
Récupère l'objet de service de durée de vie en cours qui contrôle la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
InitializeLifetimeService() |
Obsolète.
Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance. (Hérité de MarshalByRefObject) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
MemberwiseClone(Boolean) |
Crée une copie superficielle de l'objet MarshalByRefObject actuel. (Hérité de MarshalByRefObject) |
ResetDbType() |
Rétablit le type associé à cet objet OleDbParameter. |
ResetOleDbType() |
Rétablit le type associé à cet objet OleDbParameter. |
ToString() |
Obtient une chaîne qui contient l'objet ParameterName. |
Implémentations d’interfaces explicites
ICloneable.Clone() |
Pour obtenir une description de ce membre, consultez Clone(). |
IDbDataParameter.Precision |
Indique la précision des paramètres numériques. (Hérité de DbParameter) |
IDbDataParameter.Scale |
Pour obtenir une description de ce membre, consultez Scale. (Hérité de DbParameter) |