Eine Einführung in DataSet in VB.NET

Ein Großteil der Datentechnologie von Microsoft, ADO.NET, wird vom DataSet-Objekt bereitgestellt. Dieses Objekt liest die Datenbank und erstellt eine speicherinterne Kopie des Teils der Datenbank, den Ihr Programm benötigt. Ein DataSet-Objekt entspricht normalerweise einer realen Datenbanktabelle oder -sicht, aber DataSet ist eine getrennte Sicht der Datenbank. Nachdem ADO.NET ein DataSet erstellt hat, ist keine aktive Verbindung zur Datenbank erforderlich. Dies trägt zur Skalierbarkeit bei, da das Programm beim Lesen oder Schreiben nur für Mikrosekunden eine Verbindung mit einem Datenbankserver herstellen muss. DataSet ist nicht nur zuverlässig und benutzerfreundlich, sondern unterstützt auch eine hierarchische Ansicht der Daten als XML und eine relationale Ansicht, die Sie nach dem Trennen der Programmverbindung verwalten können.

Mit DataSet können Sie Ihre eigenen eindeutigen Ansichten einer Datenbank erstellen. Verknüpfen Sie DataTable-Objekte mit DataRelation-Objekten. Mit den Objekten UniqueConstraint und ForeignKeyConstraint können Sie sogar die Datenintegrität erzwingen. Im folgenden einfachen Beispiel wird nur eine Tabelle verwendet. Sie können jedoch bei Bedarf mehrere Tabellen aus verschiedenen Quellen verwenden.

Codierung eines VB.NET-DataSets

Dieser Code erstellt ein DataSet mit einer Tabelle, einer Spalte und zwei Zeilen:

Die am häufigsten verwendete Methode zum Erstellen eines DataSets ist die Fill-Methode des DataAdapter-Objekts. Hier ist ein getestetes Programmbeispiel:

Das DataSet kann dann in Ihrem Programmcode als Datenbank behandelt werden. Die Syntax erfordert dies nicht, aber normalerweise geben Sie den Namen der DataTable an, in die die Daten geladen werden sollen. Das folgende Beispiel zeigt, wie ein Feld angezeigt wird.

Obwohl das DataSet einfach zu verwenden ist, ist es möglicherweise besser, mehr Code zu schreiben und stattdessen den DataReader zu verwenden, wenn die unformatierte Leistung das Ziel ist.

Wenn Sie die Datenbank nach dem Ändern des DataSet aktualisieren müssen, können Sie die Update-Methode des DataAdapter-Objekts verwenden, müssen jedoch sicherstellen, dass die DataAdapter-Eigenschaften mit SqlCommand-Objekten korrekt festgelegt sind. SqlCommandBuilder wird normalerweise dazu verwendet.

DataAdapter ermittelt, was sich geändert hat, und führt dann einen INSERT-, UPDATE- oder DELETE-Befehl aus. Wie bei allen Datenbankvorgängen können jedoch Probleme bei Datenbankaktualisierungen auftreten, wenn die Datenbank von anderen Benutzern aktualisiert wird. Daher müssen Sie häufig Code einfügen um Probleme beim Datenbankwechsel zu antizipieren und zu lösen.

Manchmal kann nur ein DataSet das tun, was Sie benötigen. Wenn Sie eine Sammlung benötigen und die Daten serialisieren, ist ein DataSet das zu verwendende Tool. Sie können ein DataSet schnell in XML serialisieren, indem Sie die WriteXML-Methode aufrufen.

DataSet ist das wahrscheinlichste Objekt, das Sie für Programme verwenden werden, die auf eine Datenbank verweisen. Es ist das von ADO.NET verwendete Kernobjekt und wurde für die Verwendung im getrennten Modus entwickelt.