Partager via


SqlCommandBuilder Classe

Définition

Génère automatiquement des commandes de tableau unique utilisées pour rapprocher les modifications apportées à un DataSet avec la base de données SQL Server associée. Cette classe ne peut pas être héritée.

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

Exemples

L’exemple suivant utilise , SqlCommandle long SqlDataAdapter et SqlConnection, pour sélectionner des lignes à partir d’une source de données. L’exemple est passé une chaîne de connexion, une chaîne de requête qui est une instruction Transact-SQL SELECT et une chaîne qui est le nom de la table de base de données. L’exemple crée ensuite un SqlCommandBuilder.

public static DataSet SelectSqlRows(string connectionString,
    string queryString, string tableName)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        SqlDataAdapter adapter = new SqlDataAdapter();
        adapter.SelectCommand = new SqlCommand(queryString, connection);
        SqlCommandBuilder builder = new SqlCommandBuilder(adapter);

        connection.Open();

        DataSet dataSet = new DataSet();
        adapter.Fill(dataSet, tableName);

        //code to modify data in DataSet here

        builder.GetUpdateCommand();

        //Without the SqlCommandBuilder this line would fail
        adapter.Update(dataSet, tableName);

        return dataSet;
    }
}
Private Function SelectSqlRows(ByVal connectionString As String, _
    ByVal queryString As String, ByVal tableName As String) As DataSet

    Using connection As New SqlConnection(connectionString)

        Dim adapter As New SqlDataAdapter()
        adapter.SelectCommand = New SqlCommand(queryString, connection)
        Dim builder As New SqlCommandBuilder(adapter)

        connection.Open()

        Dim dataSet As New DataSet()
        adapter.Fill(dataSet, tableName)

        ' Code to modify data in DataSet here 

        builder.GetUpdateCommand()

        ' Without the SqlCommandBuilder this line would fail.
        adapter.Update(dataSet, tableName)

        Return dataSet
    End Using
End Function

Remarques

ne SqlDataAdapter génère pas automatiquement les instructions Transact-SQL requises pour rapprocher les modifications apportées à un DataSet avec le instance de SQL Server associé. Toutefois, vous pouvez créer un objet pour générer automatiquement des SqlCommandBuilder instructions Transact-SQL pour les mises à jour d’une table unique si vous définissez la SelectCommand propriété de .SqlDataAdapter Ensuite, toutes les instructions Transact-SQL supplémentaires que vous ne définissez pas sont générées par le SqlCommandBuilder.

le SqlCommandBuilder s’inscrit lui-même en tant qu’écouteur pour RowUpdating les événements chaque fois que vous définissez la DataAdapter propriété . Vous ne pouvez associer qu’un SqlDataAdapter ou SqlCommandBuilder un objet à l’autre à la fois.

Pour générer des instructions INSERT, UPDATE ou DELETE, utilise SqlCommandBuilder la SelectCommand propriété pour récupérer automatiquement un ensemble de métadonnées requis. Si vous modifiez après SelectCommand que les métadonnées ont été récupérées, par exemple après la première mise à jour, vous devez appeler la RefreshSchema méthode pour mettre à jour les métadonnées.

SelectCommand doit aussi retourner au moins une clé primaire ou une colonne unique. Si aucun n’est présent, une exception InvalidOperation est générée et les commandes ne sont pas générées.

utilise SqlCommandBuilder également les Connectionpropriétés , CommandTimeoutet Transaction référencées par le SelectCommand. L’utilisateur doit appeler RefreshSchema si une ou plusieurs de ces propriétés sont modifiées, ou si le SelectCommand lui-même est remplacé. Sinon, les InsertCommandpropriétés , UpdateCommandet DeleteCommand conservent leurs valeurs précédentes.

Si vous appelez Dispose, le SqlCommandBuilder est dissocié de et SqlDataAdapterles commandes générées ne sont plus utilisées.

Constructeurs

SqlCommandBuilder()

Initialise une nouvelle instance de la classe SqlCommandBuilder.

SqlCommandBuilder(SqlDataAdapter)

Initialise une nouvelle instance de la classe SqlCommandBuilder avec l'objet SqlDataAdapter associé.

Propriétés

CanRaiseEvents

Obtient une valeur qui indique si le composant peut déclencher un événement.

(Hérité de Component)
CatalogLocation

Obtient ou définit le CatalogLocation d’une instance de la classe SqlCommandBuilder.

CatalogSeparator

Obtient ou définit une chaîne utilisée comme séparateur de catalogue pour une instance de la classe SqlCommandBuilder.

ConflictOption

Spécifie quel ConflictOption doit être utilisé par le DbCommandBuilder.

(Hérité de DbCommandBuilder)
Container

Obtient le IContainer qui contient la Component.

(Hérité de Component)
DataAdapter

Obtient ou définit un objet SqlDataAdapter pour lequel les instructions Transact-SQL sont automatiquement générées.

DesignMode

Obtient une valeur qui indique si Component est actuellement en mode design.

(Hérité de Component)
Events

Obtient la liste des gestionnaires d'événements attachés à ce Component.

(Hérité de Component)
QuotePrefix

Obtient ou définit le ou les caractères de début à utiliser lors de la spécification d'objets de base de données SQL Server, tels que des tables ou colonnes, dont les noms contiennent des caractères tels que des espaces ou des jetons réservés.

QuoteSuffix

Obtient ou définit le ou les caractères de fin à utiliser lors de la spécification d'objets de base de données SQL Server, tels que des tables ou colonnes, dont les noms contiennent des caractères tels que des espaces ou des jetons réservés.

SchemaSeparator

Obtient ou définit le caractère à utiliser pour le séparateur entre l'identificateur de schéma et tout autre identificateur.

SetAllValues

Spécifie si toutes les valeurs de colonne d'une instruction de mise à jour sont incluses ou uniquement modifiées.

(Hérité de DbCommandBuilder)
Site

Obtient ou définit le ISite de 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.

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

(Hérité de MarshalByRefObject)
DeriveParameters(SqlCommand)

Récupère les informations sur les paramètres à partir de la procédure stockée spécifiée dans SqlCommand et remplit la collection Parameters de l'objet SqlCommand spécifié.

Dispose()

Libère toutes les ressources utilisées par 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.

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

Libère les ressources non managées utilisées par DbCommandBuilder et libère éventuellement les ressources managées.

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

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetDeleteCommand()

Obtient l'objet SqlCommand généré automatiquement, qui est requis pour effectuer des suppressions au niveau de la base de données.

GetDeleteCommand(Boolean)

Obtient l'objet SqlCommand généré automatiquement, qui est requis pour effectuer des suppressions au niveau de la base de données.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetInsertCommand()

Obtient l'objet SqlCommand généré automatiquement, qui est requis pour effectuer des suppressions au niveau de la base de données.

GetInsertCommand(Boolean)

Obtient l'objet SqlCommand généré automatiquement, qui est requis pour effectuer des insertions au niveau de la base de données.

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

Retourne le nom du paramètre spécifié au format de @p#. Utilisez-le lors de la création d'un générateur de commandes personnalisé.

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

Retourne le nom de paramètre complet à partir du nom de paramètre partiel.

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

Retourne l'espace réservé pour le paramètre dans l'instruction SQL associée.

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

Retourne la table de schéma pour le DbCommandBuilder.

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

Retourne un objet qui représente un service fourni par Component ou par son Container.

(Hérité de Component)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
GetUpdateCommand()

Obtient l'objet SqlCommand généré automatiquement, qui est requis pour effectuer des mises à jour au niveau de la base de données.

GetUpdateCommand(Boolean)

Obtient l'objet SqlCommand généré automatiquement, qui est requis pour effectuer des mises à jour au niveau de la base de données.

InitializeCommand(DbCommand)

Réinitialise les propriétés CommandTimeout, Transaction, CommandType et UpdateRowSource à la valeur DbCommand.

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

À partir d'un identificateur sans guillemets dans le cas d'un catalogue correct, retourne la forme correcte de cet identificateur entre guillemets. Cela inclut d'effectuer une séquence d'échappement correcte pour les guillemets incorporés dans l'identificateur.

RefreshSchema()

Efface les commandes associées à ce générateur de commandes.

RefreshSchema()

Efface les commandes associées à ce DbCommandBuilder.

(Hérité de DbCommandBuilder)
RowUpdatingHandler(RowUpdatingEventArgs)

Ajoute un gestionnaire d'événements pour l'événement RowUpdating.

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

Enregistre le DbCommandBuilder pour gérer l'événement RowUpdating d'un DbDataAdapter.

(Hérité de DbCommandBuilder)
ToString()

Retourne un String contenant le nom du Component, s’il en existe un. Cette méthode ne doit pas être remplacée.

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

Muni d'un identificateur entre guillemets, retourne la forme de cet identificateur sans guillemets. Cela inclut de placer correctement tous les guillemets incorporés dans l'identificateur hors d'une séquence d'échappement.

Événements

Disposed

Se produit lorsque le composant est supprimé par un appel à la méthode Dispose().

(Hérité de Component)

S’applique à

Voir aussi