Partager via


Enregistrer des données avec les méthodes TableAdapter DBDirect dans les applications .NET Framework

Remarque

La DataSet classe et les classes associées sont des technologies .NET Framework héritées du début des années 2000 qui 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. Les technologies sont particulièrement utiles pour les applications qui permettent aux utilisateurs de modifier les données et de conserver les modifications apportées à la base de données. Bien que les jeux de données soient une technologie éprouvée, l’approche recommandée pour les nouvelles applications .NET consiste à utiliser Entity Framework Core. Entity Framework offre un moyen plus naturel d’utiliser des données tabulaires en tant que modèles objet et dispose d’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 à l’aide des méthodes DBDirect d’une TableAdapter. Les méthodes DBDirect d’un TableAdapter fournissent un niveau de contrôle précis sur vos mises à jour de base de données. Vous pouvez les utiliser pour exécuter des instructions SQL spécifiques et des procédures stockées en appelant les méthodes individuelles Insert, Update, et Delete selon les besoins de votre application (par opposition à la méthode surchargée Update qui effectue les instructions UPDATE, INSERT, et DELETE en un seul appel).

Au cours de ce tutoriel, vous allez apprendre à :

Conditions préalables

Les étapes décrites dans ce tutoriel fonctionnent avec les applications Windows Forms .NET Framework.

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

  1. Si sql Server Express LocalDB n’est pas installé, installez-le à partir de la page de téléchargement SQL Server Express ou via Visual Studio Installer. Dans Visual Studio Installer, vous pouvez installer SQL Server Express LocalDB dans le cadre du stockage et du traitement des données charge de travail, ou en tant que composant individuel.

  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 de stockage et de traitement des données dans Visual Studio Installer.) Développez le nœud SQL Server . Cliquez avec le bouton droit sur votre instance LocalDB, puis sélectionnez nouvelle requête.

      Une fenêtre de l’é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 choisissez le bouton Exécuter.

      Après un court laps de temps, 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 à l’aide du type de projet d’application Windows Forms , à l’aide de C# ou de Visual Basic.

Remarque

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

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

Cette étape utilise l’assistant de 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 à la base de données d'exemple 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 bases 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 la source de données.

  3. Dans l’écran Choisir un type de source de données , sélectionnez Base de données, puis Sélectionnez 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’échantillon de la base de données Northwind est disponible dans le menu déroulant, sélectionnez-la.

      - ou -

    • Sélectionnez Nouvelle connexion pour lancer 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 inclure des données sensibles, puis sélectionnez Suivant.

  6. Dans l’écran Enregistrer la chaîne de connexion dans l’écran du 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 le Region tableau, puis sélectionnez Terminer.

    NorthwindDataSet est ajouté à votre projet et la Region table s’affiche 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 de la fenêtre Sources de données vers votre formulaire.

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

Un DataGridView contrôle et une bande d’outils (BindingNavigator) permettant de naviguer dans les enregistrements s’affichent sur le formulaire. NorthwindDataSet, RegionTableAdapter, BindingSourceet BindingNavigator apparaît dans la barre d’état du composant.

Pour ajouter des boutons qui appelleront les méthodes TableAdapter DbDirect individuelles

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

  2. Définissez les propriétés Nom et Texte suivantes sur chaque bouton.

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

Pour ajouter du code pour insérer de nouveaux enregistrements dans la base de données

  1. Sélectionnez InsertButton pour créer un gestionnaire d’événements pour l’événement click et ouvrez 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);
    }
    

    Remarque

    Selon votre version de Visual Studio et les modèles de projet que vous avez utilisés, les noms de variables comme regionTableAdapter ou regionTableAdapter1 utilisés dans ce code peuvent ou ne pas avoir de fin 1 dans le code généré. Apportez des corrections dans votre code pour vous assurer que le nom correct est utilisé partout. Visual Studio affiche une ligne ondulée rouge là où le nom est incorrect.

Pour ajouter du code pour 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 ouvrez 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 pour supprimer des enregistrements de la base de données

  1. Sélectionnez DeleteButton pour créer un gestionnaire d’événements pour l’événement click et ouvrez 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écuter l’application

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

  • Sélectionnez le bouton Insérer et vérifiez que le nouvel enregistrement apparaît 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 vos besoins en matière d’application, vous pouvez effectuer plusieurs étapes après la création d’un formulaire lié aux données. Voici quelques améliorations que vous pouvez apporter à ce didacticiel :

  • Ajout de fonctionnalités de recherche au formulaire.

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