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’objetcurrentCustomer
à la méthodeTableAdapter.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éfixeorig
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’objetCustomer
à la méthodeTableAdapter.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éfixeorig
pour stocker les valeurs d’origine.L’exemple suivant supprime un enregistrement de la table
Customers
en passant les valeurs d’origine de l’objetCustomer
à la méthodeTableAdapter.Delete
.
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.