Gran parte della tecnologia dati di Microsoft, ADO.NET, è fornita dall'oggetto DataSet. Questo oggetto legge il database e crea una copia in memoria di quella parte del database che è tua programma esigenze. Un oggetto DataSet di solito corrisponde a una tabella o una vista del database reale, ma DataSet è una vista disconnessa del database. Dopo che ADO.NET ha creato un DataSet, non è necessaria una connessione attiva al database, il che aiuta scalabilità perché il programma deve connettersi solo con un server di database per i microsecondi durante la lettura o la scrittura. Oltre ad essere affidabile e facile da usare, DataSet supporta sia una vista gerarchica dei dati come XML sia una vista relazionale che è possibile gestire dopo la disconnessione del programma.
È possibile creare visualizzazioni univoche personalizzate di un database utilizzando DataSet. Correlare tra loro gli oggetti DataTable con gli oggetti DataRelation. Puoi persino applicare l'integrità dei dati utilizzando gli oggetti UniqueConstraint e ForeignKeyConstraint. Il semplice esempio seguente utilizza solo una tabella, ma è possibile utilizzare più tabelle da origini diverse se necessario.
Codifica di un DataSet VB.NET
Questo codice crea un DataSet con una tabella, una colonna e due righe:
Il modo più comune per creare un DataSet è utilizzare il metodo Fill dell'oggetto DataAdapter. Ecco un esempio di programma testato:
Il DataSet può quindi essere trattato come un database nel codice del programma. La sintassi non lo richiede, ma normalmente viene fornito il nome della DataTable in cui caricare i dati. Ecco un esempio che mostra come visualizzare un campo.
Sebbene il DataSet sia facile da usare, se l'obiettivo è ottenere prestazioni non elaborate, è consigliabile scrivere più codice e utilizzare DataReader.
Se è necessario aggiornare il database dopo aver modificato il DataSet, è possibile utilizzare il metodo Update di Oggetto DataAdapter, ma è necessario assicurarsi che le proprietà DataAdapter siano impostate correttamente con Oggetti SqlCommand. SqlCommandBuilder viene solitamente utilizzato per fare questo.
DataAdapter scopre cosa è cambiato e quindi esegue un comando INSERT, UPDATE o DELETE, ma come per tutte le operazioni del database, gli aggiornamenti al database possono incorrere in problemi quando il database viene aggiornato da altri utenti, quindi spesso è necessario includere il codice per anticipare e risolvere i problemi quando si modifica il Banca dati.
A volte, solo un DataSet fa ciò di cui hai bisogno. Se hai bisogno di una raccolta e stai serializzando i dati, un DataSet è lo strumento da usare. È possibile serializzare rapidamente un DataSet in XML chiamando il metodo WriteXML.
DataSet è il più probabile oggetto utilizzerai per i programmi che fanno riferimento a un database. È l'oggetto principale utilizzato da ADO.NET ed è progettato per essere utilizzato in modalità disconnessa.