Mycket av Microsofts datateknologi, ADO.NET, tillhandahålls av DataSet-objektet. Detta objekt läser databasen och skapar en kopia i minnet av den del av databasen som din program behov. Ett DataSet-objekt motsvarar vanligtvis en riktig databastabell eller vy, men DataSet är en frånkopplad vy av databasen. Efter att ADO.NET har skapat en DataSet, finns det inget behov av en aktiv anslutning till databasen, vilket hjälper till skalbarhet eftersom programmet endast måste ansluta till en databaseserver under mikrosekunder vid läsning eller skrivning. Förutom att det är tillförlitligt och enkelt att använda, stöder DataSet både en hierarkisk vy av data som XML och en relationsvy som du kan hantera efter att programmet har kopplats från.
Du kan skapa dina egna unika vyer av en databas med DataSet. Relatera DataTable-objekt till varandra med DataRelation-objekt. Du kan till och med säkerställa dataintegritet med UniqueConstraint- och ForeignKeyConstraint-objekten. Det enkla exemplet nedan använder bara en tabell, men du kan använda flera tabeller från olika källor om du behöver dem.
Kodning av ett VB.NET DataSet
Den här koden skapar en DataSet med en tabell, en kolumn och två rader:
Det vanligaste sättet att skapa en DataSet är att använda Fill-metoden för DataAdapter-objektet. Här är ett testat programexempel:
DataSet kan sedan behandlas som en databas i din programkod. Syntaxen kräver det inte, men du kommer normalt att ange namnet på Datatabellen för att ladda data i. Här är ett exempel som visar hur man visar ett fält.
Även om DataSet är lätt att använda, om rå prestanda är målet, kan du vara bättre på att skriva mer kod och använda DataReader istället.
Om du behöver uppdatera databasen efter att du har ändrat DataSet kan du använda uppdateringsmetoden för DataAdapter-objekt, men du måste se till att DataAdapter-egenskaperna är korrekt inställda med SqlCommand-objekt. SqlCommandBuilder används vanligtvis för att göra detta.
DataAdapter räknar ut vad som har ändrats och kör sedan ett INSERT-, UPDATE- eller DELETE-kommando, men som med alla databasoperationer kan uppdateringar av databasen stöter på problem när databasen uppdateras av andra användare, så du behöver ofta inkludera kod för att förutse och lösa problem när du ändrar databas.
Ibland gör bara en DataSet vad du behöver. Om du behöver en samling och du serualiserar data är en DataSet verktyget du kan använda. Du kan snabbt serialisera en DataSet till XML genom att anropa WriteXML-metoden.
DataSet är det mest troliga objekt du kommer att använda för program som refererar till en databas. Det är det centrala objektet som används av ADO.NET, och det är utformat för att användas i ett frånkopplat läge.