OdbcCommandBuilder Classe

Définition

Génère automatiquement des commandes de table unique utilisées pour répercuter les modifications apportées à DataSet dans la source de données associée.Automatically generates single-table commands that are used to reconcile changes made to a DataSet with the associated data source. Cette classe ne peut pas être héritée.This class cannot be inherited.

public ref class OdbcCommandBuilder sealed : System::Data::Common::DbCommandBuilder
public sealed class OdbcCommandBuilder : System.Data.Common.DbCommandBuilder
type OdbcCommandBuilder = class
    inherit DbCommandBuilder
Public NotInheritable Class OdbcCommandBuilder
Inherits DbCommandBuilder
Héritage
OdbcCommandBuilder

Exemples

L’exemple suivant utilise OdbcCommand, ainsi que OdbcDataAdapter et OdbcConnection, pour sélectionner des lignes d’une source de données.The following example uses OdbcCommand, together with OdbcDataAdapter and OdbcConnection, to select rows from a data source. Un DataSetinitialisé, une chaîne de connexion, une chaîne de requête qui est une instruction SQL SELECT et une chaîne qui est le nom de la table de source de données sont passés à l’exemple.The example is passed an initialized DataSet, a connection string, a query string that is an SQL SELECT statement, and a string that is the name of the data source table. L’exemple crée ensuite un OdbcCommandBuilder.The example then creates an OdbcCommandBuilder.

public static DataSet SelectOdbcSrvRows(string connectionString,
    string queryString, string tableName)
{
    DataSet dataSet = new DataSet();
    using (OdbcConnection connection = new OdbcConnection(connectionString))
    {
        OdbcDataAdapter adapter = new OdbcDataAdapter();
        adapter.SelectCommand =
            new OdbcCommand(queryString, connection);
        OdbcCommandBuilder builder =
            new OdbcCommandBuilder(adapter);

        connection.Open();

        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        //Without the OdbcCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);
    }
    return dataSet;
}
Public Function SelectOdbcSrvRows( _
    ByVal connectionString As String, ByVal queryString As String, _
    ByVal tableName As String) As DataSet

    Dim dataSet As New DataSet()

    Using connection As New OdbcConnection(connectionString)
        Dim adapter As New OdbcDataAdapter()
        adapter.SelectCommand = _
            New OdbcCommand(queryString, connection)
        Dim builder As New OdbcCommandBuilder(adapter)

        connection.Open()

        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

        ' Without the OdbcCommandBuilder this line would fail.
        adapter.Update(dataSet, tableName)
    End Using

    Return dataSet
End Function

Remarques

Le OdbcDataAdapter ne génère pas automatiquement les instructions SQL requises pour harmoniser les modifications apportées à un DataSet associé à la source de données.The OdbcDataAdapter does not automatically generate the SQL statements required to reconcile changes made to a DataSet associated with the data source. Toutefois, vous pouvez créer un objet OdbcCommandBuilder qui génère des instructions SQL pour les mises à jour d’une seule table en définissant la propriété SelectCommand de l' OdbcDataAdapter.However, you can create an OdbcCommandBuilder object that generates SQL statements for single-table updates by setting the SelectCommand property of the OdbcDataAdapter. Le OdbcCommandBuilder génère ensuite les instructions SQL supplémentaires que vous ne définissez pas.The OdbcCommandBuilder then generates any additional SQL statements that you do not set.

La relation entre un OdbcDataAdapter et son OdbcCommandBuilder correspondant est toujours un-à-un.The relationship between an OdbcDataAdapter and its corresponding OdbcCommandBuilder is always one-to-one. Pour créer cette correspondance, vous définissez la propriété OdbcDataAdapter de l’objet OdbcCommandBuilder.To create this correspondence, you set the OdbcDataAdapter property of the OdbcCommandBuilder object. Cela amène l' OdbcCommandBuilder à s’inscrire en tant qu’écouteur, ce qui produit la sortie des événements RowUpdating qui affectent le DataSet.This causes the OdbcCommandBuilder to register itself as a listener, which produces the output of RowUpdating events that affect the DataSet.

Pour générer des instructions INSERT, UPDATE ou DELETE, l' OdbcCommandBuilder utilise la propriété SelectCommand pour récupérer un jeu de métadonnées requis.To generate INSERT, UPDATE, or DELETE statements, the OdbcCommandBuilder uses the SelectCommand property to retrieve a required set of metadata. Si vous modifiez la valeur de SelectCommand une fois que les métadonnées ont été récupérées, par exemple après la première mise à jour, vous devez ensuite appeler la méthode RefreshSchema pour mettre à jour les métadonnées.If you change the value of SelectCommand after the metadata has been retrieved, such as after the first update, you should then call the RefreshSchema method to update the metadata.

Notes

Si l’instruction SELECT assignée à la propriété SelectCommand utilise des noms de colonnes avec alias, les instructions INSERT, UPDATE et DELETE résultantes peuvent être inexactes ou échouer.If the SELECT statement assigned to the SelectCommand property uses aliased column names, the resulting INSERT, UPDATE, and DELETE statements may be inaccurate or fail. Si le pilote ODBC sous-jacent ne peut pas fournir le nom de colonne de base approprié pour le nom de colonne d’alias (à l’aide de la valeur SQL_DESC_BASE_COLUMN_NAME de SQLColAttribute), le nom d’alias peut être utilisé dans les instructions INSERT, UPDATE et DELETE générées.If the underlying ODBC driver cannot provide the appropriate base column name for the alias column name (using the SQL_DESC_BASE_COLUMN_NAME value of SQLColAttribute), the alias name could be used in the generated INSERT, UPDATE, and DELETE statements. Par exemple, le pilote Microsoft ODBC pour Oracle retourne le nom d’alias en tant que nom de colonne de base.For example, the Microsoft ODBC Driver for Oracle returns the alias name as the base column name. Par conséquent, les instructions INSERT, UPDATE et DELETE générées provoquent des erreurs.Therefore, the generated INSERT, UPDATE, and DELETE statements would cause errors.

Le OdbcCommandBuilder utilise également les propriétés Connection, CommandTimeoutet Transaction référencées par le SelectCommand.The OdbcCommandBuilder also uses the Connection, CommandTimeout, and Transaction properties referenced by the SelectCommand. L’utilisateur doit appeler RefreshSchema si une ou plusieurs de ces propriétés sont modifiées, ou si la valeur de la propriété SelectCommand elle-même est modifiée.The user should call RefreshSchema if one or more of these properties are modified, or if the value of the SelectCommand property itself is changed. Dans le cas contraire, les propriétés InsertCommand, UpdateCommandet DeleteCommand conservent leurs valeurs précédentes.Otherwise the InsertCommand, UpdateCommand, and DeleteCommand properties retain their previous values.

Si vous appelez Dispose, la OdbcCommandBuilder est dissociée de la OdbcDataAdapteret les commandes générées ne sont plus utilisées.If you call Dispose, the OdbcCommandBuilder is disassociated from the OdbcDataAdapter, and the generated commands are no longer used.

Constructeurs

OdbcCommandBuilder()

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

OdbcCommandBuilder(OdbcDataAdapter)

Initialise une nouvelle instance de la classe OdbcCommandBuilder avec l'objet OdbcDataAdapter associé.Initializes a new instance of the OdbcCommandBuilder class with the associated OdbcDataAdapter object.

Propriétés

CanRaiseEvents

Obtient une valeur qui indique si le composant peut déclencher un événement.Gets a value indicating whether the component can raise an event.

(Hérité de Component)
CatalogLocation

Obtient ou définit le CatalogLocation d’une instance de la classe DbCommandBuilder.Gets or sets the CatalogLocation for an instance of the DbCommandBuilder class.

(Hérité de DbCommandBuilder)
CatalogSeparator

Obtient ou définit une chaîne utilisée comme séparateur de catalogue pour une instance de la classe DbCommandBuilder.Gets or sets a string used as the catalog separator for an instance of the DbCommandBuilder class.

(Hérité de DbCommandBuilder)
ConflictOption

Spécifie quel ConflictOption doit être utilisé par le DbCommandBuilder.Specifies which ConflictOption is to be used by the DbCommandBuilder.

(Hérité de DbCommandBuilder)
Container

Obtient le IContainer qui contient Component.Gets the IContainer that contains the Component.

(Hérité de Component)
DataAdapter

Obtient ou définit l'objet OdbcDataAdapter pour lequel cet objet OdbcCommandBuilder générera des instructions SQL.Gets or sets an OdbcDataAdapter object for which this OdbcCommandBuilder object will generate SQL statements.

DesignMode

Obtient une valeur qui indique si Component est actuellement en mode design.Gets a value that indicates whether the Component is currently in design mode.

(Hérité de Component)
Events

Obtient la liste des gestionnaires d'événements attachés à ce Component.Gets the list of event handlers that are attached to this Component.

(Hérité de Component)
QuotePrefix

Obtient ou définit le ou les caractères de début à utiliser quand sont utilisés des objets de base de données (par exemple, des tables ou des colonnes) dont les noms contiennent des caractères comme des espaces ou des jetons réservés.Gets or sets the beginning character or characters to use when working with database objects (for example, tables or columns) whose names contain characters such as spaces or reserved tokens.

QuoteSuffix

Obtient ou définit le ou les caractères de fin à utiliser quand sont utilisés des objets de base de données (par exemple, des tables ou des colonnes) dont les noms contiennent des caractères comme des espaces ou des jetons réservés.Gets or sets the ending character or characters to use when working with database objects, (for example, tables or columns), whose names contain characters such as spaces or reserved tokens.

SchemaSeparator

Obtient ou définit le caractère à utiliser pour le séparateur entre l'identificateur de schéma et tout autre identificateur.Gets or sets the character to be used for the separator between the schema identifier and any other identifiers.

(Hérité de DbCommandBuilder)
SetAllValues

Spécifie si toutes les valeurs de colonne d'une instruction de mise à jour sont incluses ou uniquement modifiées.Specifies whether all column values in an update statement are included or only changed ones.

(Hérité de DbCommandBuilder)
Site

Obtient ou définit le ISite de Component.Gets or sets the ISite of the Component.

(Hérité de Component)

Méthodes

ApplyParameterInfo(DbParameter, DataRow, StatementType, Boolean)

Permet à l'implémentation de fournisseur de la classe DbCommandBuilder de gérer des propriétés de paramètre supplémentaires.Allows the provider implementation of the DbCommandBuilder class to handle additional parameter properties.

(Hérité de DbCommandBuilder)
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)
DeriveParameters(OdbcCommand)

Récupère les informations sur les paramètres à partir de la procédure stockée spécifiée dans OdbcCommand et remplit la collection Parameters de l'objet OdbcCommand spécifié.Retrieves parameter information from the stored procedure specified in the OdbcCommand and populates the Parameters collection of the specified OdbcCommand object.

Dispose()

Libère toutes les ressources utilisées par Component.Releases all resources used by the Component.

(Hérité de Component)
Dispose(Boolean)

Libère les ressources non managées utilisées par Component et libère éventuellement les ressources managées.Releases the unmanaged resources used by the Component and optionally releases the managed resources.

(Hérité de Component)
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)
GetDeleteCommand()

Obtient l'objet OdbcCommand généré automatiquement, qui est requis pour effectuer des suppressions au niveau de la source de données.Gets the automatically generated OdbcCommand object required to perform deletions at the data source.

GetDeleteCommand(Boolean)

Obtient l'objet OdbcCommand généré automatiquement, qui est requis pour effectuer des suppressions au niveau de la source de données.Gets the automatically generated OdbcCommand object required to perform deletions at the data source.

GetHashCode()

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

(Hérité de Object)
GetInsertCommand()

Obtient l'objet OdbcCommand généré automatiquement, qui est requis pour effectuer des insertions au niveau de la source de données.Gets the automatically generated OdbcCommand object required to perform insertions at the data source.

GetInsertCommand(Boolean)

Obtient l'objet OdbcCommand généré automatiquement, qui est requis pour effectuer des insertions au niveau de la source de données.Gets the automatically generated OdbcCommand object required to perform insertions at the data source.

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)
GetParameterName(Int32)

Retourne le nom du paramètre spécifié au format @p#.Returns the name of the specified parameter in the format of @p#. Utilisez-le lors de la création d'un générateur de commandes personnalisé.Use when building a custom command builder.

(Hérité de DbCommandBuilder)
GetParameterName(String)

Retourne le nom de paramètre complet à partir du nom de paramètre partiel.Returns the full parameter name, given the partial parameter name.

(Hérité de DbCommandBuilder)
GetParameterPlaceholder(Int32)

Retourne l'espace réservé pour le paramètre dans l'instruction SQL associée.Returns the placeholder for the parameter in the associated SQL statement.

(Hérité de DbCommandBuilder)
GetSchemaTable(DbCommand)

Retourne la table de schéma pour le DbCommandBuilder.Returns the schema table for the DbCommandBuilder.

(Hérité de DbCommandBuilder)
GetService(Type)

Retourne un objet qui représente un service fourni par Component ou par son Container.Returns an object that represents a service provided by the Component or by its Container.

(Hérité de Component)
GetType()

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

(Hérité de Object)
GetUpdateCommand()

Obtient l'objet OdbcCommand généré automatiquement, qui est requis pour effectuer des mises à jour au niveau de la source de données.Gets the automatically generated OdbcCommand object required to perform updates at the data source.

GetUpdateCommand(Boolean)

Obtient l'objet OdbcCommand généré automatiquement, qui est requis pour effectuer des mises à jour au niveau de la source de données.Gets the automatically generated OdbcCommand object required to perform updates at the data source.

InitializeCommand(DbCommand)

Réinitialise les propriétés CommandTimeout, Transaction, CommandType et UpdateRowSource à la valeur DbCommand.Resets the CommandTimeout, Transaction, CommandType, and UpdateRowSource properties on the DbCommand.

(Hérité de DbCommandBuilder)
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 de l'objet 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)
QuoteIdentifier(String)

À partir d'un identificateur sans guillemets dans le cas d'un catalogue correct, retourne la forme correcte de cet identificateur entre guillemets.Given an unquoted identifier in the correct catalog case, returns the correct quoted form of that identifier. Cela inclut d'effectuer une séquence d'échappement correcte pour les guillemets incorporés dans l'identificateur.This includes correctly escaping any embedded quotes in the identifier.

QuoteIdentifier(String, OdbcConnection)

À partir d'un identificateur sans guillemets dans le cas d'un catalogue correct, retourne la forme correcte de cet identificateur entre guillemets.Given an unquoted identifier in the correct catalog case, returns the correct quoted form of that identifier. Cela inclut d'effectuer une séquence d'échappement correcte pour les guillemets incorporés dans l'identificateur.This includes correctly escaping any embedded quotes in the identifier.

RefreshSchema()

Efface les commandes associées à ce OdbcCommandBuilder.Clears the commands associated with this OdbcCommandBuilder.

RowUpdatingHandler(RowUpdatingEventArgs)

Ajoute un gestionnaire d'événements pour l'événement RowUpdating.Adds an event handler for the RowUpdating event.

(Hérité de DbCommandBuilder)
SetRowUpdatingHandler(DbDataAdapter)

Enregistre le DbCommandBuilder pour gérer l'événement RowUpdating d'un DbDataAdapter.Registers the DbCommandBuilder to handle the RowUpdating event for a DbDataAdapter.

(Hérité de DbCommandBuilder)
ToString()

Retourne un String contenant le nom du Component, s’il en existe un.Returns a String containing the name of the Component, if any. Cette méthode ne doit pas être remplacée.This method should not be overridden.

(Hérité de Component)
UnquoteIdentifier(String)

Étant donné un identificateur entre guillemets, retourne la forme sans guillemets correcte de cet identificateur, notamment en plaçant correctement hors d'une séquence d'échappement les guillemets incorporés dans l'identificateur.Given a quoted identifier, returns the correct unquoted form of that identifier, including correctly unescaping any embedded quotes in the identifier.

UnquoteIdentifier(String, OdbcConnection)

Étant donné un identificateur entre guillemets, retourne la forme sans guillemets correcte de cet identificateur, notamment en plaçant correctement hors d'une séquence d'échappement les guillemets incorporés dans l'identificateur.Given a quoted identifier, returns the correct unquoted form of that identifier, including correctly unescaping any embedded quotes in the identifier.

Événements

Disposed

Se produit lorsque le composant est supprimé par un appel à la méthode Dispose().Occurs when the component is disposed by a call to the Dispose() method.

(Hérité de Component)

S’applique à

Voir aussi