Mettre à jour des données en utilisant un TableAdapter dans des 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.

Une fois les données de votre jeu de données modifiées et validées, vous pouvez renvoyer les données mises à jour à une base de données en appelant la méthode Update d’un TableAdapter. La méthode Update met à jour une table de données unique et exécute la commande correcte (INSERT, UPDATE, ou DELETE) en fonction du RowState de chaque ligne de données de la table. Lorsqu’un jeu de données a des tables associées, Visual Studio génère une classe TableAdapterManager que vous utilisez pour effectuer les mises à jour. La classe TableAdapterManager garantit que les mises à jour sont effectuées dans l’ordre correct en fonction des contraintes de clé étrangère définies dans la base de données. Lorsque vous utilisez des contrôles liés aux données, l’architecture de liaison de données crée une variable membre de la classe TableAdapterManager appelée tableAdapterManager.

Notes

Lorsque vous essayez de mettre à jour une source de données avec le contenu d’un jeu de données, vous pouvez obtenir des erreurs. Pour éviter les erreurs, nous vous recommandons de placer le code qui appelle la méthode Update de l’adaptateur dans un bloc try/catch.

La procédure exacte de mise à jour d’une source de données peut varier en fonction des besoins de l’entreprise, mais inclut les étapes suivantes :

  1. Appelez la méthode Update de l’adaptateur dans un bloc try/catch.

  2. Si une exception est interceptée, recherchez la ligne de données qui a provoqué l’erreur.

  3. Rapprochez le problème dans la ligne de données (par programme, si vous le pouvez, ou en présentant la ligne non valide à l’utilisateur pour modification), puis réessayez la mise à jour (HasErrors, GetErrors).

Enregistrer des données dans une base de données

Appelez la méthode Update d’un TableAdapter. Transmettez le nom de la table de données qui contient les valeurs à écrire dans la base de données.

Mettre à jour une base de données à l’aide d’un TableAdapter

  • Placez la méthode Update de TableAdapter dans un bloc try/catch. L’exemple suivant montre comment mettre à jour le contenu de la table Customers dans NorthwindDataSet un bloc try/catch.

    try
    {
        this.Validate();
        this.customersBindingSource.EndEdit();
        this.customersTableAdapter.Update(this.northwindDataSet.Customers);
        MessageBox.Show("Update successful");
    }
    catch (System.Exception ex)
    {
        MessageBox.Show("Update failed");
    }