Version imprimable       Envoyer     
Cliquez pour évaluer et commenter
TechNet
Bibliothèque TechNet
SQL Server
SQL Server Compact 4.0
Référence technique de SQ...
Classe SqlCeCommandBuilder
Réduire tout/Développer tout Réduire tout
Cette page est spécifique à
Microsoft Visual Studio 2010/.NET Framework 4

D'autres versions sont également disponibles pour :
Classe SqlCeCommandBuilder

Fournit un moyen de générer automatiquement des commandes de table simple utilisées pour harmoniser les modifications apportées à DataSet avec la base de données associée. Cette classe ne peut pas être héritée.

System..::.Object
  System..::.MarshalByRefObject
    System.ComponentModel..::.Component
      System.Data.Common..::.DbCommandBuilder
        System.Data.SqlServerCe..::.SqlCeCommandBuilder

Espace de noms :  System.Data.SqlServerCe
Assembly :  System.Data.SqlServerCe (en System.Data.SqlServerCe.dll)
Visual Basic (Déclaration)
Public NotInheritable Class SqlCeCommandBuilder _
    Inherits DbCommandBuilder
Visual Basic (Utilisation)
Dim instance As SqlCeCommandBuilder
C#
public sealed class SqlCeCommandBuilder : DbCommandBuilder
Visual C++
public ref class SqlCeCommandBuilder sealed : public DbCommandBuilder
F#
[<SealedAttribute>]
type SqlCeCommandBuilder =  
    class
        inherit DbCommandBuilder
    end
JScript
public final class SqlCeCommandBuilder extends DbCommandBuilder

Le type SqlCeCommandBuilder expose les membres suivants.

  NomDescription
Méthode publiqueSqlCeCommandBuilder()()()Initialise une nouvelle instance de la classe SqlCeCommandBuilder.
Méthode publiqueSqlCeCommandBuilder(SqlCeDataAdapter)Initialise une nouvelle instance de la classe SqlCeCommandBuilder avec les objets SqlCeDataAdapter et SqlCeCommand associés.
Haut de la page
  NomDescription
Propriété protégéeCanRaiseEvents (hérité de Component)
Propriété publiqueCatalogLocationNon pris en charge dans SQL Server Compact. (remplace DbCommandBuilder..::.CatalogLocation.)
Propriété publiqueCatalogSeparatorNon pris en charge dans SQL Server Compact. (remplace DbCommandBuilder..::.CatalogSeparator.)
Propriété publiqueConflictOptionSpécifie quel ConflictOption doit être utilisé par le SqlCeCommandBuilder. (remplace DbCommandBuilder..::.ConflictOption.)
Propriété publiqueContainer (hérité de Component)
Propriété publiqueDataAdapterObtient ou définit un objet SqlCeDataAdapter pour lequel les instructions SQL sont automatiquement générées.
Propriété protégéeDesignMode (hérité de Component)
Propriété protégéeEvents (hérité de Component)
Propriété publiqueQuotePrefixObtient 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 (par exemple, des tables ou colonnes) dont les noms contiennent des caractères tels que des espaces ou des jetons réservés. (remplace DbCommandBuilder..::.QuotePrefix.)
Propriété publiqueQuoteSuffixObtient 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 (par exemple, des tables ou colonnes) dont les noms contiennent des caractères tels que des espaces ou des jetons réservés. (remplace DbCommandBuilder..::.QuoteSuffix.)
Propriété publiqueSchemaSeparatorNon pris en charge dans SQL Server Compact. (remplace DbCommandBuilder..::.SchemaSeparator.)
Propriété publiqueSetAllValues (hérité de DbCommandBuilder)
Propriété publiqueSite (hérité de Component)
Haut de la page
  NomDescription
Méthode protégéeApplyParameterInfo (hérité de DbCommandBuilder)
Méthode publiqueCreateObjRef (hérité de MarshalByRefObject)
Méthode publiqueDispose()()() (hérité de Component)
Méthode protégéeDispose(Boolean) (hérité de DbCommandBuilder)
Méthode publiqueEquals (hérité de Object)
Méthode protégéeFinalize (hérité de Component)
Méthode publiqueGetDeleteCommand()()()Obtient l'objet SqlCeCommand généré automatiquement qui est requis pour effectuer des suppressions dans la base de données lorsqu'une application appelle Update sur SqlCeDataAdapter.
Méthode publiqueGetDeleteCommand(Boolean) (hérité de DbCommandBuilder)
Méthode publiqueGetHashCode (hérité de Object)
Méthode publiqueGetInsertCommand()()()Obtient l'objet SqlCeCommand généré automatiquement et qui est requis pour effectuer des insertions dans la base de données lorsqu'une application appelle Update sur SqlCeDataAdapter.
Méthode publiqueGetInsertCommand(Boolean) (hérité de DbCommandBuilder)
Méthode publiqueGetLifetimeService (hérité de MarshalByRefObject)
Méthode protégéeGetParameterName(Int32) (hérité de DbCommandBuilder)
Méthode protégéeGetParameterName(String) (hérité de DbCommandBuilder)
Méthode protégéeGetParameterPlaceholder (hérité de DbCommandBuilder)
Méthode protégéeGetSchemaTable (hérité de DbCommandBuilder)
Méthode protégéeGetService (hérité de Component)
Méthode publiqueGetType (hérité de Object)
Méthode publiqueGetUpdateCommand()()()Obtient l'objet SqlCeCommand généré automatiquement et requis pour effectuer des mises à jour dans la base de données lorsqu'une application appelle Update sur SqlCeDataAdapter.
Méthode publiqueGetUpdateCommand(Boolean) (hérité de DbCommandBuilder)
Méthode protégéeInitializeCommand (hérité de DbCommandBuilder)
Méthode publiqueInitializeLifetimeService (hérité de MarshalByRefObject)
Méthode protégéeMemberwiseClone()()() (hérité de Object)
Méthode protégéeMemberwiseClone(Boolean) (hérité de MarshalByRefObject)
Méthode publiqueQuoteIdentifierRetourne la forme avec guillemets correcte de l'identificateur spécifié. (remplace DbCommandBuilder..::.QuoteIdentifier(String).)
Méthode publiqueRefreshSchema (hérité de DbCommandBuilder)
Méthode protégéeRowUpdatingHandler (hérité de DbCommandBuilder)
Méthode protégéeSetRowUpdatingHandler (hérité de DbCommandBuilder)
Méthode publiqueToString (hérité de Component)
Méthode publiqueUnquoteIdentifierRetourne la forme sans guillemets correcte de l'identificateur spécifié. (remplace DbCommandBuilder..::.UnquoteIdentifier(String).)
Haut de la page
  NomDescription
Événement publicDisposed (hérité de Component)
Haut de la page

Vous pouvez créer un objet SqlCeCommandBuilder pour générer automatiquement des instructions Transact-SQL pour des mises à jour de table simple si vous définissez la propriété SelectCommand.

SqlCeCommandBuilder s'inscrit comme écouteur des événements RowUpdating si vous définissez la propriété DataAdapter. Vous ne pouvez associer qu'un objet SqlCeDataAdapter ou SqlCeCommandBuilder à l'autre simultanément.

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

SelectCommand doit également retourner au moins une colonne de clés primaires ou unique. Sinon, une exception InvalidOperation est générée et les commandes ne sont pas générées.

SqlCeCommandBuilder utilise aussi les propriétés Connection et Transaction référencées par SelectCommand. Vous devez appeler RefreshSchema()()() en cas de modification d'une de ces propriétés, ou si le SelectCommand proprement dit est remplacé. Sinon, les propriétés InsertCommand, UpdateCommand et DeleteCommand conservent leurs valeurs précédentes.

Si vous appelez Dispose()()(), SqlCeCommandBuilder est dissocié de SqlCeDataAdapter, et les commandes générées ne sont plus utilisées.

L'exemple suivant utilise SqlCeCommand, ainsi que SqlCeDataAdapter et SqlCeConnection, pour sélectionner des lignes dans une source de données. Une chaîne de connexion, une chaîne de requête et une chaîne qui est le nom de la table de base de données sont passées à l'exemple. L'exemple crée ensuite SqlCeCommandBuilder. Ce générateur de commande est ensuite utilisé par l'adaptateur de données pour mettre à jour le groupe de données modifié dans la base de données locale.

Visual Basic
Try
    Dim conn As New SqlCeConnection("Data Source = MyDatabase.sdf")
    conn.Open()

    Dim cmd As SqlCeCommand = conn.CreateCommand()
    cmd.CommandText = "SELECT * FROM employees"

    Dim adp As New SqlCeDataAdapter(cmd)

    Dim cb As New SqlCeCommandBuilder()
    cb.DataAdapter = adp

    MessageBox.Show(cb.GetUpdateCommand().CommandText)
    MessageBox.Show(cb.GetInsertCommand().CommandText)
    MessageBox.Show(cb.GetDeleteCommand().CommandText)

    Dim ds As New DataSet("test")
    adp.Fill(ds)

    ' Modify the contents of the DataSet
    '
    ds.Tables(0).Rows(0)("First Name") = "Joe"

    adp.Update(ds)

Catch e1 As Exception
    Console.WriteLine(e1.ToString())
End Try
C#
try
{
    SqlCeConnection conn = new SqlCeConnection("Data Source = MyDatabase.sdf");
    conn.Open();

    SqlCeCommand cmd = conn.CreateCommand();
    cmd.CommandText = "SELECT * FROM employees";

    SqlCeDataAdapter adp = new SqlCeDataAdapter(cmd);

    SqlCeCommandBuilder cb = new SqlCeCommandBuilder();
    cb.DataAdapter = adp;

    MessageBox.Show(cb.GetUpdateCommand().CommandText);
    MessageBox.Show(cb.GetInsertCommand().CommandText);
    MessageBox.Show(cb.GetDeleteCommand().CommandText);

    DataSet ds = new DataSet("test");
    adp.Fill(ds);

    // Modify the contents of the DataSet
    //
    ds.Tables[0].Rows[0]["First Name"] = "Joe";

    adp.Update(ds);

}
catch (Exception e1)
{
    Console.WriteLine(e1.ToString());
}
Tout membre statique public (Shared en Microsoft Visual Basic) de ce type est thread-safe. Tous les membres de l'instance ne sont pas garantis comme sûrs.
© 2012 Microsoft. Tous droits réservés. Conditions d'utilisation | Marques | Confidentialité
Page view tracker