OleDbParameter Classe

Définition

Représente un paramètre à un OleDbCommand et éventuellement son mappage à une DataSet colonne. Cette classe ne peut pas être héritée.

public ref class OleDbParameter sealed : MarshalByRefObject, ICloneable, System::Data::IDbDataParameter
public ref class OleDbParameter sealed : 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))]
public sealed class OleDbParameter : System.Data.Common.DbParameter, 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 MarshalByRefObject
Implements ICloneable, IDbDataParameter
Public NotInheritable Class OleDbParameter
Inherits DbParameter
Implements ICloneable
Héritage
OleDbParameter
Héritage
Attributs
Implémente

Exemples

L’exemple suivant crée plusieurs instances de OleDbParameter la OleDbParameterCollection collection au sein de la OleDbDataAdaptercollection. 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 et un DataSetOleDbDataAdapter 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

Ole DB.NET Framework Fournisseur de données utilise des paramètres positionnels 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 ole DB.NET Framework 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. La raison est que lorsque Oracle correspond aux valeurs 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 que Oracle stocke la valeur de colonne comme « a » (remplissage « a », avec des espaces de fin, à la longueur de champ fixe de 3), que 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 («%») à la valeur du paramètre ("a%") ou utilisez une comparaison SQL = à la place.

Constructeurs

Nom Description
OleDbParameter()

Initialise une nouvelle instance de la classe OleDbParameter.

OleDbParameter(String, Object)

Initialise une nouvelle instance de la OleDbParameter classe qui utilise le nom du paramètre et la valeur du nouveau OleDbParameter.

OleDbParameter(String, OleDbType, Int32, ParameterDirection, Boolean, Byte, Byte, String, DataRowVersion, Object)

Initialise une nouvelle instance de la OleDbParameter classe qui utilise le nom du paramètre, le type de données, la longueur, le nom de 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 OleDbParameter classe qui utilise le nom du paramètre, le type de données, la longueur, le nom de 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 OleDbParameter classe qui utilise le nom du paramètre, le type de données, la longueur et le nom de colonne source.

OleDbParameter(String, OleDbType, Int32)

Initialise une nouvelle instance de la OleDbParameter classe qui utilise le nom du paramètre, le type de données et la longueur.

OleDbParameter(String, OleDbType)

Initialise une nouvelle instance de la OleDbParameter classe qui utilise le nom du paramètre et le type de données.

Propriétés

Nom Description
DbType

Obtient ou définit le DbType 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 procédure stockée.

IsNullable

Obtient ou définit une valeur qui indique si le paramètre accepte des valeurs Null.

OleDbType

Obtient ou définit le OleDbType paramètre.

ParameterName

Obtient ou définit le nom du OleDbParameter.

Precision

Obtient ou définit le nombre maximal de chiffres utilisés pour représenter la Value propriété.

Scale

Obtient ou définit le nombre de décimales à laquelle Value est résolu.

Size

Obtient ou définit la taille maximale, en octets, des données de la colonne.

SourceColumn

Obtient ou définit le nom de la colonne source mappée au DataSet chargement ou au renvoi de la Valuecolonne source.

SourceColumnNullMapping

Obtient ou définit une valeur qui indique si la colonne source est nullable. Cela permet DbCommandBuilder de générer correctement des instructions Update pour les colonnes nullables.

SourceVersion

Obtient ou définit la DataRowVersion valeur à utiliser lorsque vous chargez Value.

Value

Obtient ou définit la valeur du paramètre.

Méthodes

Nom Description
CreateObjRef(Type)

Crée un objet qui contient toutes les informations pertinentes requises pour générer un proxy utilisé pour 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()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetLifetimeService()

Récupère l’objet de service de durée de vie actuel qui contrôle la stratégie de durée de vie de cette instance.

(Hérité de MarshalByRefObject)
GetType()

Obtient la Type de l’instance actuelle.

(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.

(Hérité de MarshalByRefObject)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

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

Crée une copie superficielle de l’objet actuel MarshalByRefObject .

(Hérité de MarshalByRefObject)
ResetDbType()

Réinitialise le type associé à ce OleDbParameter.

ResetOleDbType()

Réinitialise le type associé à ce OleDbParameter.

ToString()

Obtient une chaîne qui contient le ParameterName.

Implémentations d’interfaces explicites

Nom Description
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)

S’applique à

Voir aussi