System.Data.DataSet-klasse

Opmerking

In dit artikel vindt u aanvullende opmerkingen in de referentiedocumentatie voor deze API.

De DataSet klasse, een in-memory cache van gegevens die zijn opgehaald uit een gegevensbron, is een belangrijk onderdeel van de ADO.NET-architectuur. Het DataSet bestaat uit een verzameling DataTable objecten die u met DataRelation objecten kunt relateren. U kunt ook gegevensintegriteit in de DataSet gegevens afdwingen met behulp van de UniqueConstraint en ForeignKeyConstraint objecten. Zie DataSet voor meer informatie over het werken met objecten.

Terwijl DataTable objecten de gegevens bevatten, stelt DataRelationCollection u in staat om door de tabelhiërarchie te navigeren. De tabellen zijn opgenomen in een DataTableCollection die toegankelijk is via de Tables eigenschap. Wanneer u DataTable objecten opent, moet u er rekening mee houden dat ze voorwaardelijk hoofdlettergevoelig zijn. Als bijvoorbeeld de ene DataTable 'mydatatable' heet en de ander 'Mydatatable', dan is een tekenreeks die wordt gebruikt om naar een van de tabellen te zoeken hoofdlettergevoelig. Als 'mydatatable' echter bestaat en 'Mydatatable' niet, wordt de zoekreeks beschouwd als niet hoofdlettergevoelig. Zie DataTable maken voor meer informatie over het werken met objecten.

Een DataSet kan gegevens en schema's lezen en schrijven als XML-documenten. De gegevens en het schema kunnen vervolgens worden vervoerd via HTTP en worden gebruikt door elke toepassing, op elk platform waarvoor XML is ingeschakeld. U kunt het schema opslaan als een XML-schema met de WriteXmlSchema methode, en zowel schema als gegevens kunnen worden opgeslagen met behulp van de WriteXml methode. Als u een XML-document wilt lezen dat zowel schema als gegevens bevat, gebruikt u de ReadXml methode.

In een typische implementatie met meerdere lagen zijn de stappen voor het maken en vernieuwen van een DataSet, en het bijwerken van de oorspronkelijke gegevens als volgt:

  1. Bouw en vul elke DataTable in een DataSet met gegevens uit een gegevensbron met behulp van een DataAdapter.

  2. Wijzig de gegevens in afzonderlijke DataTable objecten door objecten toe te voegen, bij te werken of te DataRow verwijderen.

  3. Roep de GetChanges methode aan om een seconde DataSet te maken die alleen de wijzigingen in de gegevens bevat.

  4. Roep de Update methode van de DataAdapter aan, waarbij de tweede DataSet als argument wordt doorgegeven.

  5. Roep de Merge methode aan om de wijzigingen van de tweede DataSet samen te voegen in de eerste.

  6. Roep de AcceptChanges aan op DataSet. U kunt ook aanroepen RejectChanges om de wijzigingen te annuleren.

Opmerking

De DataSet en DataTable objecten nemen over van MarshalByValueComponenten ondersteunen de ISerializable interface voor externe communicatie. Dit zijn de enige ADO.NET objecten die op afstand kunnen worden uitgevoerd.

Opmerking

Klassen die zijn overgenomen van DataSet , worden niet voltooid door de garbagecollector, omdat de finalizer is onderdrukt in DataSet. De afgeleide klasse kan de methode in de ReRegisterForFinalize constructor aanroepen zodat de klasse kan worden voltooid door de garbagecollector.

Beveiligingsoverwegingen

Zie Beveiligingsrichtlijnen voor informatie over de beveiliging van DataSet en DataTable.