Freigeben über


System.Data.DataSet-Klasse

Dieser Artikel enthält ergänzende Hinweise zur Referenzdokumentation für diese API.

Die DataSet Klasse, bei der es sich um einen Speichercache von Daten handelt, die aus einer Datenquelle abgerufen werden, ist eine hauptkomponente der ADO.NET Architektur. Das DataSet besteht aus einer Auflistung von DataTable Objekten, die Sie miteinander mit DataRelation Objekten verknüpfen können. Sie können die Datenintegrität in DataSet auch mithilfe der Objekte UniqueConstraint und ForeignKeyConstraint erzwingen. Weitere Details zum Arbeiten mit DataSet Objekten finden Sie unter DataSets, DataTables und DataViews.

Während die DataTable-Objekte die Daten enthalten, können Sie mithilfe von DataRelationCollection durch die Tabellenhierarchie navigieren. Die Tabellen sind in einer DataTableCollection enthalten, die über die Tables-Eigenschaft zugänglich sind. Beachten Sie beim Zugriff auf DataTable-Objekte, dass sie bedingt zwischen Groß- und Kleinschreibung unterscheiden. Wenn beispielsweise ein DataTable „mydatatable” heißt und das andere Objekt „Mydatatable”, wird bei einer Zeichenfolge, die zum Suchen nach einer der Tabellen verwendet wird, die Groß-/Kleinschreibung berücksichtigt. Wenn jedoch „mydatatable” vorhanden ist und „Mydatatable” nicht, wird die Suchzeichenfolge unabhängig von der Groß- und Kleinschreibung betrachtet. Weitere Informationen zum Arbeiten mit DataTable Objekten finden Sie unter Erstellen einer DataTable.

Ein DataSet Kann Daten und Schemas als XML-Dokumente lesen und schreiben. Die Daten und das Schema können dann über HTTP hinweg transportiert und von jeder Anwendung verwendet werden, auf jeder Plattform, die XML-aktiviert ist. Sie können das Schema als XML-Schema mit der WriteXmlSchema Methode speichern, und sowohl Schema als auch Daten können mithilfe der WriteXml Methode gespeichert werden. Verwenden Sie die ReadXml Methode, um ein XML-Dokument zu lesen, das sowohl Schema als auch Daten enthält.

In einer typischen Implementierung mit mehreren Ebenen sind die Schritte zum Erstellen und Aktualisieren eines DataSet und wiederum zum Aktualisieren der ursprünglichen Daten folgende:

  1. Erstellen und füllen Sie jedes DataTable in einem DataSet mit Daten aus einer Datenquelle mithilfe eines DataAdapter.

  2. Ändern Sie die Daten in einzelnen DataTable Objekten, indem Sie Objekte hinzufügen, aktualisieren oder löschen DataRow .

  3. Rufen Sie die GetChanges-Methode auf, um ein zweites DataSet zu erstellen, das nur die Änderungen an den Daten zeigt.

  4. Rufen Sie die Methode Update des DataAdapter auf und übergeben Sie die zweite DataSet als Argument.

  5. Rufen Sie die Merge Methode auf, um die Änderungen von der zweiten DataSet in die erste zusammenzuführen.

  6. Rufen Sie die AcceptChanges in DataSet auf. Rufen Sie alternativ auf RejectChanges , um die Änderungen abzubrechen.

Hinweis

Das DataSet-Objekt und das DataTable-Objekt erben von MarshalByValueComponent und unterstützen die ISerializable-Schnittstelle für das Remoting. Dies sind die einzigen ADO.NET Objekte, die entfernt werden können.

Hinweis

Von DataSet geerbte Klassen werden nicht vom Garbage Collector abgeschlossen, da der Finalizer in DataSet unterdrückt wurde. Die abgeleitete Klasse kann die ReRegisterForFinalize Methode im Konstruktor aufrufen, damit die Klasse vom Garbage Collector abgeschlossen werden kann.

Sicherheitsüberlegungen

Informationen zur Sicherheit von DataSet und DataTable finden Sie unter Sicherheitsleitfaden.