Partager via


Comment : enregistrer les données d'un objet dans une base de données

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

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

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

Notes

Lorsque vous configurez un TableAdapter, la requête principale doit fournir assez d'informations pour la création des méthodes DBDirect. Par exemple, si un TableAdapter est configuré pour interroger les données 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 de TableAdapter

Description

TableAdapter.Insert

Ajoute de nouveaux enregistrements à une base de données, ce qui vous permet de passer des valeurs de colonne individuelles comme paramètres de méthode.

TableAdapter.Update

Met à jour des enregistrements existants dans une base de données. La méthode Update prend des valeurs de colonne nouvelles et d'origine comme paramètres de méthode. Les valeurs d'origine servent à localiser l'enregistrement d'origine et les nouvelles valeurs à mettre à jour cet enregistrement.

La méthode TableAdapter.Update permet également de rapprocher les modifications apportées à un groupe de données dans la base de données en prenant une DataSet, DataTable, DataRow ou un tableau de DataRow comme paramètres de méthode.

TableAdapter.Delete

Supprime des enregistrements existants de la base de données en fonction des valeurs de colonne transmises en tant que paramètres de méthode.

Pour enregistrer de nouveaux enregistrements provenant 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 dans l'objet currentCustomer à la méthode TableAdapter.Insert.

    Private Sub AddNewCustomer(ByVal currentCustomer As Customer)
    
        CustomersTableAdapter.Insert(
            currentCustomer.CustomerID,
            currentCustomer.CompanyName,
            currentCustomer.ContactName,
            currentCustomer.ContactTitle,
            currentCustomer.Address,
            currentCustomer.City,
            currentCustomer.Region,
            currentCustomer.PostalCode,
            currentCustomer.Country,
            currentCustomer.Phone,
            currentCustomer.Fax)
    End Sub
    
    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 provenant d'un objet dans une base de données

  • Modifiez les enregistrements en appelant la méthode TableAdapter.Update et en passant les nouvelles valeurs pour mettre à jour l'enregistrement et en passant 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 dans l'objet Customer à la méthode TableAdapter.Update.

    Private Sub UpdateCustomer(ByVal cust As Customer)
    
            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)
    End Sub
    
    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 passant 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 dans l'objet Customer à la méthode TableAdapter.Delete.

    Private Sub DeleteCustomer(ByVal cust As Customer)
    
        CustomersTableAdapter.Delete(
            cust.origCustomerID,
            cust.origCompanyName,
            cust.origContactName,
            cust.origContactTitle,
            cust.origAddress,
            cust.origCity,
            cust.origRegion,
            cust.origPostalCode,
            cust.origCountry,
            cust.origPhone,
            cust.origFax)
    End Sub
    
    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é

Vous devez avoir l'autorisation pour exécuter les instructions INSERT, UPDATE ou DELETE sur la table dans la base de données.

Voir aussi

Tâches

Comment : se connecter à des données dans des objets

Procédure pas à pas : connexion à des données dans des objets (Windows Forms)

Comment : accéder directement à la base de données avec un TableAdapter

Concepts

Liaison d'objets dans Visual Studio

Liaison de contrôles Windows Forms à des données dans Visual Studio

Liaison de contrôles à des données dans Visual Studio

Autres ressources

Connexion aux données dans Visual Studio

Préparation de votre application pour recevoir des données

Extraction de données dans votre application

Modification des données dans votre application

Validation des données

Enregistrement des données