Veel van de datatechnologie van Microsoft, ADO.NET, wordt geleverd door het DataSet-object. Dit object leest de database en maakt een kopie in het geheugen van dat deel van de database dat u gebruikt programma behoeften. Een DataSet-object komt meestal overeen met een echte databasetabel of -weergave, maar DataSet is een losgekoppelde weergave van de database. Nadat ADO.NET een DataSet heeft gemaakt, is er geen behoefte meer aan een actieve verbinding met de database, wat helpt schaalbaarheid omdat het programma bij het lezen van of slechts gedurende microseconden verbinding moet maken met een databaseserver schrijven. DataSet is niet alleen betrouwbaar en gebruiksvriendelijk, maar ondersteunt ook een hiërarchische weergave van de gegevens als XML en een relationele weergave die u kunt beheren nadat uw programma is losgekoppeld.
U kunt uw eigen unieke weergaven van een database maken met behulp van DataSet. Relateer DataTable-objecten aan elkaar met DataRelation-objecten. U kunt zelfs gegevensintegriteit afdwingen met behulp van de objecten UniqueConstraint en ForeignKeyConstraint. In het onderstaande eenvoudige voorbeeld wordt slechts één tabel gebruikt, maar u kunt meerdere tabellen uit verschillende bronnen gebruiken als u ze nodig hebt.
Codering van een VB.NET-gegevensset
Deze code maakt een DataSet met één tabel, één kolom en twee rijen:
De meest gebruikelijke manier om een DataSet te maken, is door de vulmethode van het DataAdapter-object te gebruiken. Hier is een voorbeeld van een getest programma:
De DataSet kan vervolgens worden behandeld als een database in uw programmacode. De syntaxis vereist dit niet, maar u geeft normaal de naam van de gegevenstabel op om de gegevens in te laden. Hier is een voorbeeld dat laat zien hoe een veld wordt weergegeven.
Hoewel de DataSet gemakkelijk te gebruiken is, is het misschien beter om, als ruwe prestaties het doel zijn, meer code te schrijven en de DataReader te gebruiken.
Als u de database moet bijwerken nadat u de DataSet hebt gewijzigd, kunt u de updatemethode van de gebruiken DataAdapter-object, maar u moet ervoor zorgen dat de DataAdapter-eigenschappen correct zijn ingesteld met SqlCommand-objecten. SqlCommandBuilder wordt meestal gebruikt om dit te doen.
DataAdapter zoekt uit wat er is gewijzigd en voert vervolgens een INSERT-, UPDATE- of DELETE-opdracht uit, maar zoals bij alle databasebewerkingen kunnen updates voor de database problemen tegenkomen wanneer de database wordt bijgewerkt door andere gebruikers, dus u moet vaak code opnemen om te anticiperen op en problemen op te lossen bij het wijzigen van de database.
Soms doet alleen een DataSet wat u nodig hebt. Als u een verzameling nodig hebt en u de gegevens serialiseert, is een DataSet de tool om te gebruiken. U kunt een DataSet naar XML snel serialiseren door de WriteXML-methode aan te roepen.
DataSet is het meest waarschijnlijk voorwerp u zult gebruiken voor programma's die verwijzen naar een database. Het is het kernobject dat wordt gebruikt door ADO.NET en is ontworpen om te worden gebruikt in een niet-verbonden modus.