Partager via


Enregistrer les données d'un objet dans une base de données 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.

Vous pouvez enregistrer des données dans des objets dans une base de données en passant les valeurs de votre objet à l’une des méthodes DBDirect de TableAdapter (par exemple, TableAdapter.Insert). Pour plus d'informations, consultez TableAdapter.

Pour enregistrer les données d’une collection d’objets, effectuez une boucle dans la collection d’objets (par exemple, une boucle for-next) et envoyez les valeurs de chaque objet à la base de données à l’aide de l’une des méthodes DBDirect de TableAdapter.

Par défaut, les méthodes DBDirect sont créées sur un TableAdapter qui peut être exécuté directement sur la base de données. Ces méthodes peuvent être appelées directement et ne nécessitent pas d’objets DataSet ou DataTable pour rapprocher les modifications afin d’envoyer des mises à jour à une base de données.

Notes

Lorsque vous configurez un TableAdapter, la requête principale doit fournir suffisamment d’informations pour que les méthodes DBDirect soient créées. Par exemple, si un TableAdapter est configuré pour interroger des données à partir d’une table qui n’a pas de colonne de clé primaire définie, il ne génère pas de méthodes DBDirect.

Méthode DBDirect du TableAdapter Description
TableAdapter.Insert Ajoute de nouveaux enregistrements à une base de données, ce qui vous permet de transmettre des valeurs de colonne individuelles en tant que paramètres de méthode.
TableAdapter.Update Met à jour les enregistrements existants dans une base de données. La méthode Update Update prend les valeurs des colonnes originales et nouvelles comme paramètres de méthode. Les valeurs d’origine sont utilisées pour localiser l’enregistrement d’origine et les nouvelles valeurs sont utilisées pour mettre à jour cet enregistrement.

La méthode TableAdapter.Update est également utilisée pour rapprocher les modifications d’un jeu de données vers la base de données, en prenant un DataSet, DataTable, DataRow ou un tableau de DataRow comme paramètres de méthode.
TableAdapter.Delete Supprime les enregistrements existants de la base de données en fonction des valeurs de colonne d’origine transmises en tant que paramètres de méthode.

Pour enregistrer de nouveaux enregistrements d’un objet dans une base de données

  • Créez les enregistrements en passant les valeurs à la méthode TableAdapter.Insert.

    L’exemple suivant crée un enregistrement client dans la table Customers en passant les valeurs de l’objet currentCustomer à la méthode TableAdapter.Insert.

    private void AddNewCustomers(Customer currentCustomer)
    {
        customersTableAdapter.Insert( 
            currentCustomer.CustomerID, 
            currentCustomer.CompanyName, 
            currentCustomer.ContactName, 
            currentCustomer.ContactTitle, 
            currentCustomer.Address, 
            currentCustomer.City, 
            currentCustomer.Region, 
            currentCustomer.PostalCode, 
            currentCustomer.Country, 
            currentCustomer.Phone, 
            currentCustomer.Fax);
    }
    

Pour mettre à jour des enregistrements existants d’un objet vers une base de données

  • Modifiez les enregistrements en appelant la méthode TableAdapter.Update, en passant les nouvelles valeurs pour mettre à jour l’enregistrement et en transmettant les valeurs d’origine pour localiser l’enregistrement.

    Notes

    Votre objet doit conserver les valeurs d’origine pour les passer à la méthode Update. Cet exemple utilise des propriétés avec un préfixe orig pour stocker les valeurs d’origine.

    L’exemple suivant met à jour un enregistrement existant dans la table Customers en passant les valeurs nouvelles et d’origine de l’objet Customer à la méthode TableAdapter.Update.

    private void UpdateCustomer(Customer cust)
    {
        customersTableAdapter.Update(
            cust.CustomerID,
            cust.CompanyName,
            cust.ContactName,
            cust.ContactTitle,
            cust.Address,
            cust.City,
            cust.Region,
            cust.PostalCode,
            cust.Country,
            cust.Phone,
            cust.Fax,
            cust.origCustomerID,
            cust.origCompanyName,
            cust.origContactName,
            cust.origContactTitle,
            cust.origAddress,
            cust.origCity,
            cust.origRegion,
            cust.origPostalCode,
            cust.origCountry,
            cust.origPhone,
            cust.origFax);
    }
    

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

  • Supprimez les enregistrements en appelant la méthode TableAdapter.Delete et en transmettant les valeurs d’origine pour localiser l’enregistrement.

    Notes

    Votre objet doit conserver les valeurs d’origine pour les passer à la méthode Delete. Cet exemple utilise des propriétés avec un préfixe orig pour stocker les valeurs d’origine.

    L’exemple suivant supprime un enregistrement de la table Customers en passant les valeurs d’origine de l’objet Customer à la méthode TableAdapter.Delete.

    private void DeleteCustomer(Customer cust)
    {
        customersTableAdapter.Delete(
            cust.origCustomerID,
            cust.origCompanyName,
            cust.origContactName,
            cust.origContactTitle,
            cust.origAddress,
            cust.origCity,
            cust.origRegion,
            cust.origPostalCode,
            cust.origCountry,
            cust.origPhone,
            cust.origFax);
    }
    

Sécurité .NET

Vous devez avoir l’autorisation d’effectuer lesINSERT, UPDATE ou DELETE sélectionnés sur la table dans la base de données.