Partager via


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

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 des données à partir d’une collection d’objets, parcourez 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 de DBDirect TableAdapter.

Par défaut, DBDirect les méthodes 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 réconcilier les modifications afin d’envoyer des mises à jour à une base de données.

Remarque

Lorsque vous configurez un TableAdapter, la requête principale doit fournir suffisamment d’informations pour que les DBDirect méthodes 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, elle ne génère DBDirect pas de méthodes.

TableAdapter DBDirect : méthode Descriptif
TableAdapter.Insert Ajoute de nouveaux enregistrements à une base de données et 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 Update méthode prend les valeurs d’origine et de nouvelle colonne en tant que 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 réconcilier les modifications d'un jeu de données avec la base de données en prenant un DataSet, DataTable, DataRow, ou un tableau de DataRow comme paramètres pour la méthode.
TableAdapter.Delete Supprime les enregistrements existants de la base de données en fonction des valeurs de colonne d’origine passées 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 transmettant les valeurs à la TableAdapter.Insert méthode.

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

    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 TableAdapter.Update méthode, en passant les nouvelles valeurs pour mettre à jour l’enregistrement et en transmettant les valeurs d’origine pour localiser l’enregistrement.

    Remarque

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

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

    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 TableAdapter.Delete méthode et en transmettant les valeurs d’origine pour localiser l’enregistrement.

    Remarque

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

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

    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 l'opération sélectionnée INSERT, UPDATE ou DELETE sur la table de la base de données.