OleDbParameter Classe

Définition

Représente un paramètre pour un OleDbCommand et éventuellement son mappage à une colonne DataSet.Represents a parameter to an OleDbCommand and optionally its mapping to a DataSet column. Cette classe ne peut pas être héritée.This class cannot be inherited.

public ref class OleDbParameter sealed : System::Data::Common::DbParameter, ICloneable
[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 : System.Data.Common.DbParameter, ICloneable
type OleDbParameter = class
    inherit DbParameter
    interface ICloneable
    interface IDbDataParameter
    interface IDataParameter
Public NotInheritable Class OleDbParameter
Inherits DbParameter
Implements ICloneable
Héritage
OleDbParameter
Héritage
Héritage
OleDbParameter
Attributs
Implémente

Exemples

L’exemple suivant crée plusieurs instances de OleDbParameter par l’intermédiaire de la collection de OleDbParameterCollection dans le OleDbDataAdapter.The following example creates multiple instances of OleDbParameter through the OleDbParameterCollection collection within the OleDbDataAdapter. Ces paramètres sont utilisés pour sélectionner des données dans la source de données et placer les données dans le DataSet.These parameters are used to select data from the data source and place the data in the 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.This example assumes that a DataSet and an OleDbDataAdapter have already been created by using the appropriate schema, commands, and connection.

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

L’infrastructure OLE DB.NET Fournisseur de données utilise des paramètres positionnels marqués d’un point d’interrogation ( ?) au lieu de paramètres nommés.The OLE DB.NET Framework Data Provider uses positional parameters that are marked with a question mark (?) instead of named parameters.

Lorsque vous interrogez une base de données Oracle à l’aide de l’Fournisseur Microsoft OLE DB pour Oracle (MSDAORA) et de l’infrastructure OLE DB.NET Fournisseur de données, l’utilisation de la clause LIKE pour interroger des valeurs dans des champs de longueur fixe peut ne pas retourner toutes les correspondances attendues.When querying an Oracle database using the Microsoft OLE DB Provider for Oracle (MSDAORA) and the OLE DB.NET Framework Data Provider, using the LIKE clause to query values in fixed-length fields may not return all expected matches. En effet, lorsque Oracle met en correspondance des valeurs de champs de longueur fixe dans une clause LIKE, il correspond à la longueur totale de la chaîne, y compris les espaces de fin de remplissage.The reason is that when Oracle matches values for fixed-length fields in a LIKE clause, it matches the entire length of the string, including any padding trailing spaces. Par exemple, si une table dans une base de données Oracle contient un champ nommé « champ1 » défini en tant que char(3)et que vous entrez la valeur « a » dans une ligne de cette table, le code suivant ne retourne pas la ligne.For example, if a table in an Oracle database contains a field named "Field1" that is defined as char(3), and you enter the value "a" into a row of that table, the following code does not return the row.

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 que Oracle stocke la valeur de colonne sous la forme « a » (en remplissant « 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 comparaison LIKE de champs de longueur fixe.This is because Oracle stores the column value as "a " (padding "a", with trailing spaces, to the fixed field length of 3), which Oracle does not treat as a match for the parameter value of "a" in the case of a LIKE comparison of fixed-length fields.

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.To resolve this problem, append a percentage ("%") wildcard character to the parameter value ("a%"), or use an SQL = comparison instead.

Constructeurs

OleDbParameter()

Initialise une nouvelle instance de la classe OleDbParameter.Initializes a new instance of the OleDbParameter class.

OleDbParameter(String, Object)

Initialise une nouvelle instance de la classe OleDbParameter qui utilise le nom du paramètre et la valeur du nouveau OleDbParameter.Initializes a new instance of the OleDbParameter class that uses the parameter name and the value of the new 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.Initializes a new instance of the OleDbParameter class that uses the parameter name and data type.

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.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, and length.

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.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, source column name, parameter direction, numeric precision, and other properties.

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.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, source column name, parameter direction, numeric precision, and other properties.

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.Initializes a new instance of the OleDbParameter class that uses the parameter name, data type, length, and source column name.

Propriétés

DbType

Obtient ou définit le DbType du paramètre.Gets or sets the DbType of the parameter.

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.Gets or sets a value that indicates whether the parameter is input-only, output-only, bidirectional, or a stored procedure return-value parameter.

IsNullable

Obtient ou définit une valeur qui indique si le paramètre accepte les valeurs Null.Gets or sets a value that indicates whether the parameter accepts null values.

Offset
OleDbType

Obtient ou définit le OleDbType du paramètre.Gets or sets the OleDbType of the parameter.

ParameterName

Obtient ou définit le nom du OleDbParameter.Gets or sets the name of the OleDbParameter.

Precision

Obtient ou définit le nombre maximal de chiffres utilisés pour représenter la propriété Value.Gets or sets the maximum number of digits used to represent the Value property.

Scale

Obtient ou définit le nombre de décimales appliqué à la résolution de Value.Gets or sets the number of decimal places to which Value is resolved.

Size

Obtient ou définit la taille maximale, en octets, des données dans la colonne.Gets or sets the maximum size, in bytes, of the data within the column.

SourceColumn

Obtient ou définit le nom de la colonne source mappée à DataSet et utilisée pour charger et retourner Value.Gets or sets the name of the source column mapped to the DataSet and used for loading or returning the Value.

SourceColumnNullMapping

Obtient ou définit une valeur qui indique si la colonne source accepte la valeur Null.Gets or sets a value which indicates whether the source column is nullable. Ainsi, DbCommandBuilder peut générer correctement des instructions Update pour les colonnes qui acceptent la valeur Null.This allows DbCommandBuilder to correctly generate Update statements for nullable columns.

SourceVersion

Obtient ou définit le DataRowVersion à utiliser lors du chargement de Value.Gets or sets the DataRowVersion to use when you load Value.

Value

Obtient ou définit la valeur du paramètre.Gets or sets the value of the parameter.

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.Creates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object.

(Hérité de MarshalByRefObject)
Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

(Hérité de Object)
GetLifetimeService()

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.Retrieves the current lifetime service object that controls the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
GetType()

Obtient le Type de l'instance actuelle.Gets the Type of the current instance.

(Hérité de Object)
InitializeLifetimeService()

Obtient un objet de service de durée de vie pour contrôler la stratégie de durée de vie de cette instance.Obtains a lifetime service object to control the lifetime policy for this instance.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
MemberwiseClone(Boolean)

Crée une copie superficielle de l'objet MarshalByRefObject actuel.Creates a shallow copy of the current MarshalByRefObject object.

(Hérité de MarshalByRefObject)
ResetDbType()

Rétablit le type associé à cet objet OleDbParameter.Resets the type associated with this OleDbParameter.

ResetOleDbType()

Rétablit le type associé à cet objet OleDbParameter.Resets the type associated with this OleDbParameter.

ToString()

Obtient une chaîne qui contient l'objet ParameterName.Gets a string that contains the ParameterName.

Implémentations d’interfaces explicites

ICloneable.Clone()

Pour obtenir une description de ce membre, consultez Clone().For a description of this member, see Clone().

IDataParameter.SourceVersion (Hérité de DbParameter)
IDbDataParameter.Precision

Indique la précision des paramètres numériques.Indicates the precision of numeric parameters.

(Hérité de DbParameter)
IDbDataParameter.Scale

Pour obtenir une description de ce membre, consultez Scale.For a description of this member, see Scale.

(Hérité de DbParameter)

S’applique à

Voir aussi