Accéder directement à la base de données avec un TableAdapter dans les applications .NET Framework

Remarque

Les jeux de données et les classes associées sont des technologies .NET Framework héritées qui datent du début des années 2000. Elles permettent aux applications d’utiliser des données en mémoire pendant que les applications sont déconnectées de la base de données. Elles sont particulièrement utiles aux applications qui permettent aux utilisateurs de modifier des données, et de rendre ces changements persistants dans la base de données. Même si les jeux de données sont une technologie très efficace, nous vous recommandons d’utiliser Entity Framework Core pour les nouvelles applications .NET. Entity Framework offre un moyen plus naturel d’utiliser des données tabulaires en tant que modèles objet. De plus, il présente une interface de programmation plus simple.

Outre InsertCommand, UpdateCommandet DeleteCommand, les TableAdapters sont créés avec des méthodes qui peuvent être exécutées directement sur la base de données. Vous pouvez appeler ces méthodes (TableAdapter.Insert, TableAdapter.Updateet TableAdapter.Delete) pour manipuler des données directement dans la base de données.

Si vous ne souhaitez pas créer ces méthodes directes, définissez la propriété GenerateDbDirectMethods de TableAdapter sur false dans la fenêtre Propriétés. Si des requêtes sont ajoutées à un TableAdapter en plus de la requête principale de TableAdapter, ce sont des requêtes autonomes qui ne génèrent pas ces méthodes DbDirect.

Envoyer des commandes directement à une base de données

Appelez la méthode TableAdapter DbDirect qui effectue la tâche que vous essayez d’accomplir.

Pour insérer de nouveaux enregistrements directement dans une base de données

  • Appelez la méthode Insert de TableAdapter, en passant les valeurs de chaque colonne en tant que paramètres. La procédure suivante utilise la table Region dans la base de données Northwind comme exemple.

    Notes

    Si vous n’avez pas d’instance disponible, instanciez le TableAdapter que vous souhaitez utiliser.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Insert(5, "NorthWestern");
    

Pour mettre à jour des enregistrements directement dans une base de données

  • Appelez la méthode Update de TableAdapter, en passant les valeurs nouvelles ou d’origine pour chaque colonne en tant que paramètres.

    Notes

    Si vous n’avez pas d’instance disponible, instanciez le TableAdapter que vous souhaitez utiliser.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Update(1, "East", 1, "Eastern");
    

Pour supprimer des enregistrements directement d’une base de données

  • Appelez la méthode Delete de TableAdapter, en passant les valeurs de chaque colonne en tant que paramètres de la méthode Delete. La procédure suivante utilise la table Region dans la base de données Northwind comme exemple.

    Notes

    Si vous n’avez pas d’instance disponible, instanciez le TableAdapter que vous souhaitez utiliser.

    NorthwindDataSetTableAdapters.RegionTableAdapter regionTableAdapter = 
        new NorthwindDataSetTableAdapters.RegionTableAdapter();
    
    regionTableAdapter.Delete(5, "NorthWestern");