Partager via


Classe System.Data.DataSet

Cet article vous offre des remarques complémentaires à la documentation de référence pour cette API.

La DataSet classe, qui est un cache en mémoire des données récupérées à partir d’une source de données, est un composant majeur de l’architecture ADO.NET. Se DataSet compose d’une collection d’objets DataTable que vous pouvez associer les uns aux autres avec DataRelation les objets. Vous pouvez également appliquer l’intégrité des données à l’aide DataSet des objets et ForeignKeyConstraint des UniqueConstraint objets. Pour plus d’informations sur l’utilisation DataSet des objets, consultez DataSets, DataTables et DataViews.

Alors que les DataTable objets contiennent les données, vous DataRelationCollection pouvez naviguer dans la hiérarchie de tables. Les tables sont contenues dans un DataTableCollection accès via la Tables propriété. Lors de l’accès aux DataTable objets, notez qu’ils respectent la casse conditionnelle. Par exemple, si l’un DataTable est nommé « mydatatable » et qu’un autre est nommé « Mydatatable », une chaîne utilisée pour rechercher l’une des tables est considérée comme sensible à la casse. Toutefois, si « mydatatable » existe et que « Mydatatable » ne le fait pas, la chaîne de recherche est considérée comme non sensible à la casse. Pour plus d’informations sur l’utilisation DataTable d’objets, consultez Création d’un DataTable.

Un DataSet peut lire et écrire des données et un schéma en tant que documents XML. Les données et le schéma peuvent ensuite être transportés sur HTTP et utilisés par n’importe quelle application, sur n’importe quelle plateforme compatible XML. Vous pouvez enregistrer le schéma en tant que schéma XML avec la WriteXmlSchema méthode, et les données et le schéma peuvent être enregistrés à l’aide de la WriteXml méthode. Pour lire un document XML qui inclut à la fois le schéma et les données, utilisez la ReadXml méthode.

Dans une implémentation à plusieurs niveaux classique, les étapes de création et d’actualisation d’un DataSet, et à son tour, la mise à jour des données d’origine est la suivante :

  1. Générez et remplissez chacune DataTable d’elles DataSet avec des données d’une source de données à l’aide d’un DataAdapter.

  2. Modifiez les données dans des objets individuels DataTable en ajoutant, mettant à jour ou supprimant des DataRow objets.

  3. Appelez la GetChanges méthode pour créer une seconde DataSet qui ne comporte que les modifications apportées aux données.

  4. Appelez la Update méthode du DataAdapter, en passant le deuxième DataSet en tant qu’argument.

  5. Appelez la Merge méthode pour fusionner les modifications de la seconde DataSet dans la première.

  6. Appeler le AcceptChangesDataSet. Vous pouvez également appeler RejectChanges pour annuler les modifications.

Remarque

Les DataSet objets et DataTable les objets héritent de MarshalByValueComponent, et prennent en charge l’interface pour la ISerializable communication à distance. Ce sont les seuls objets ADO.NET qui peuvent être exécutés à distance.

Remarque

Les classes héritées de DataSet ne sont pas finalisées par le garbage collector, car le finaliseur a été supprimé dans DataSet. La classe dérivée peut appeler la ReRegisterForFinalize méthode dans son constructeur pour permettre à la classe d’être finalisée par le garbage collector.

Considérations de sécurité

Pour plus d’informations sur la sécurité dataSet et DataTable, consultez les instructions de sécurité.