Partager via


Enregistrer des données avec les méthodes TableAdapter DBDirect 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. Ces technologies 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.

Ce tutoriel fournit des instructions détaillées pour exécuter des instructions SQL directement sur une base de données en utilisant les méthodes DBDirect d’un TableAdapter. Les méthodes DBDirect d’un TableAdapter fournissent un niveau élevé de contrôle sur vos mises à jour de base de données. Vous pouvez les utiliser pour exécuter des instructions SQL et des procédures stockées spécifiques en appelant les méthodes individuelles Insert, Update et Delete selon les besoins de votre application (au lieu de la méthode Update surchargée qui exécute les instructions UPDATE, INSERT et DELETE dans un seul appel).

Dans ce tutoriel, vous apprenez à :

Prérequis

Les étapes de ce tutoriel fonctionnent avec des applications .NET Framework Windows Forms.

Ce tutoriel utilise SQL Server Express LocalDB et l’exemple de base de données Northwind.

  1. Si vous n’avez pas SQL Server Express LocalDB, installez-le à partir de la page de téléchargement de SQL Server Express ou à travers Visual Studio Installer. Dans Visual Studio Installer, vous pouvez installer la base de données locale SQL Server Express dans le cadre de la charge de travail Traitement et stockage de données, ou l’installer comme un composant seul.

  2. Installez l’exemple de base de données Northwind en procédant comme suit :

    1. Dans Visual Studio, ouvrez la fenêtre de l’Explorateur d’objets SQL Server. (L’Explorateur d’objets SQL Server est installé dans le cadre de la charge de travail stockage de données et du traitement dans Visual Studio Installer.) Développez le nœud SQL Server. Cliquez avec le bouton droit sur votre instance LocalDB et sélectionnez Nouvelle requête.

      Une fenêtre d’éditeur de requête s’ouvre.

    2. Copiez le script Northwind Transact-SQL dans votre Presse-papiers. Ce script T-SQL crée la base de données Northwind à partir de zéro et la remplit avec des données.

    3. Collez le script T-SQL dans l’éditeur de requête, puis cliquez sur le bouton Exécuter.

      Peu de temps après, la requête se termine et la base de données Northwind est créée.

Créer une application Windows Forms

La première étape consiste à créer une application Windows Forms (.NET Framework). Créez un projet en utilisant le type de projet Application Windows Forms, en C# ou Visual Basic.

Notes

Le code de ce tutoriel est disponible en C# et Visual Basic. Pour basculer le langage de code de cette page entre C# et Visual Basic, utilisez le sélecteur de langage de code en haut à droite de la page.

Créer une source de données à partir de votre base de données

Cette étape utilise l’Assistant Configuration de source de données pour créer une source de données basée sur la table Region de l’exemple de base de données Northwind. Vous devez avoir accès à l'exemple de base de données Northwind pour créer la connexion. Pour plus d’informations sur la configuration de l’exemple de base de données Northwind, consultez Guide pratique pour installer des exemples de base de données.

Pour créer la source de données

  1. Dans le menu Données, sélectionnez Afficher les sources de données.

    La fenêtre Sources de données s’ouvre.

  2. Dans la fenêtre Sources de données, sélectionnez Ajouter une nouvelle source de données pour démarrer l’Assistant Configuration de source de données.

  3. Sur l’écran Choisir un type de source de données, sélectionnez Base de données, puis Suivant.

  4. Dans l’écran Choisir votre connexion de données, effectuez l’une des opérations suivantes :

    • Si une connexion de données à l'exemple de base de données Northwind est disponible dans la liste déroulante, sélectionnez-la.

      -ou-

    • Sélectionnez Nouvelle connexion pour afficher la boîte de dialogue Ajouter/Modifier la connexion.

  5. Si votre base de données nécessite un mot de passe, sélectionnez l’option pour ajouter des données sensibles, puis sélectionnez Suivant.

  6. Dans l’écran Enregistrer la chaîne de connexion dans le fichier Configuration de l’application, sélectionnez Suivant.

  7. Dans l’écran Choisir vos objets de base de données, développez le nœud Tables.

  8. Sélectionnez la table Region, puis sélectionnez Terminer.

    NorthwindDataSet est ajouté à votre projet et la table Region apparaît dans la fenêtre Sources de données.

Ajouter des contrôles au formulaire pour afficher les données

Créez les contrôles liés aux données en faisant glisser des éléments depuis la fenêtre Sources de données sur votre formulaire.

Pour créer des contrôles liés aux données sur le formulaire Windows, faites glisser le nœud Region principal de la fenêtre Sources de données vers le formulaire.

Un contrôle DataGridView et une barre d'outils (BindingNavigator) pour parcourir les enregistrements apparaissent dans le formulaire. Un NorthwindDataSet, un RegionTableAdapter, un BindingSource et un BindingNavigator s’affichent dans la barre d’état des composants.

Pour ajouter des boutons pour appeler les méthodes DbDirect individuelles de TableAdapter

  1. Faites glisser trois contrôles Button depuis la Boîte à outils vers Form1 (sous la RegionDataGridView).

  2. Définissez les propriétés Name et Text suivantes sur chaque bouton.

    Nom Texte
    InsertButton Insérer
    UpdateButton Mettre à jour
    DeleteButton Supprimer

Pour ajouter du code afin d'insérer de nouveaux enregistrements dans la base de données

  1. Sélectionnez InsertButton afin de créer un gestionnaire d’événements pour l’événement de clic et ouvrir votre formulaire dans l’éditeur de code.

  2. Remplacez le gestionnaire d'événements InsertButton_Click par le code suivant :

    private void InsertButton_Click(object sender, EventArgs e)
    {
        Int32 newRegionID = 5;
        String newRegionDescription = "NorthEastern";
    
        try
        {
            regionTableAdapter1.Insert(newRegionID, newRegionDescription);
        }
        catch (Exception ex)
        {
            MessageBox.Show("Insert Failed");
        }
        RefreshDataset();
    }
    
    
    private void RefreshDataset()
    {
        this.regionTableAdapter1.Fill(this.northwindDataSet1.Region);
    }
    

    Notes

    Selon votre version de Visual Studio et les modèles de projet que vous avez utilisés, les noms de variable comme regionTableAdapter ou regionTableAdapter1 utilisés dans ce code peuvent avoir un numéro de fin 1 dans le code généré. Faites les corrections dans votre code pour que le bon nom soit utilisé partout. Visual Studio affiche une ligne ondulée rouge là où le nom est incorrect.

Pour ajouter du code afin de mettre à jour des enregistrements dans la base de données

  1. Double-cliquez sur UpdateButton pour créer un gestionnaire d’événements pour l’événement Click et ouvrir votre formulaire dans l’éditeur de code.

  2. Remplacez le gestionnaire d'événements UpdateButton_Click par le code suivant :

    private void UpdateButton_Click(object sender, EventArgs e)
    {
        Int32 newRegionID = 5;
        
        try
        {
            regionTableAdapter1.Update(newRegionID, "Updated Region Description", 5, "NorthEastern");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Update Failed");
        }
        RefreshDataset();
    }
    

Pour ajouter du code afin de supprimer des enregistrements dans la base de données

  1. Sélectionnez DeleteButton afin de créer un gestionnaire d’événements pour l’événement de clic et ouvrir votre formulaire dans l’éditeur de code.

  2. Remplacez le gestionnaire d'événements DeleteButton_Click par le code suivant :

    private void DeleteButton_Click(object sender, EventArgs e)
    {
        try
        {
            regionTableAdapter1.Delete(5, "Updated Region Description");
        }
        catch (Exception ex)
        {
            MessageBox.Show("Delete Failed");
        }
        RefreshDataset();
    }
    

Exécution de l'application

  • Sélectionnez F5 pour exécuter l'application.

  • Sélectionnez le bouton Insérer et vérifiez que le nouvel enregistrement s’affiche dans la grille.

  • Sélectionnez le bouton Mettre à jour et vérifiez que l’enregistrement est mis à jour dans la grille.

  • Sélectionnez le bouton Supprimer et vérifiez que l’enregistrement est supprimé de la grille.

Étapes suivantes

Selon les exigences de votre application, vous pouvez exécuter différentes étapes après la création d’un formulaire lié aux données. Vous pouvez apporter à ce tutoriel les améliorations suivantes :

  • Ajout d'une fonctionnalité de recherche au formulaire.

  • Ajout de tables supplémentaires au dataset en sélectionnant Configurer le DataSet à l’aide de l’Assistant dans la fenêtre Sources de données. Vous pouvez ajouter des contrôles pour afficher les données associées en faisant glisser les nœuds associés vers le formulaire. Pour plus d’informations, consultez Relations dans les jeux de données.