XPath zum Abrufen von Infos aus einer Jet-Datenbank


Der Code in Listing A beginnt mit dem Einrichten der verwendeten ADO.NET-Objekte: ein OleDbConnection-Objekt, ein DataSet-Objekt und drei OleDbDataAdapter-Objekte. Das OleDbConnection-Objekt stellt die Verbindung zur Datenbank bereit. Das DataSet fungiert als relationale Datenbank im Speicher. Es kann Daten aus mehreren Tabellen sowie die Verknüpfungen zwischen diesen Tabellen aufnehmen. Jeder OleDbDataAdapter repräsentiert einen bestimmten Datensatz, der aus der zugrunde liegenden Datenbank geladen wird.

Der nächste Schritt besteht darin, die Daten tatsächlich abzurufen. Die Methode Fill des OleDbDataAdapter-Objekts nimmt die spezifizierten Daten und speichert sie in einer benannten DataTable innerhalb des DataSet. Jedes der drei OleDbDataAdapter-Objekte füllt eine DataTable wie folgt:

An diesem Punkt befinden sich die Daten im DataSet, aber in drei unzusammenhängenden Tabellen. Um die Verknüpfung zwischen den Tabellen herzustellen (d. h. ein Mitarbeiter hat mehrere Bestellungen, und eine Bestellung verfügt über mehrere Bestelldetails), erstellt der Code in Listing B ein Paar aus DataRelation-Objekten und fügt diese der Relations-Collection des DataSets hinzu.

Bislang hat sich der Code ausschließlich im Bereich der relationalen Datenbank von ADO.NET bewegt, doch nun kommt XML ins Spiel. Das .NET Framework definiert eine weitere Klasse (XmlDataDocument), die gleichzeitig ein XML-Dokument und ein DataSet ist. Durch das Erstellen eines XmlDataDocuments aus dem DataSet kann man eine XML-Ansicht der relationalen Daten erhalten:

Von hier an ist alles pures XML. Zuerst wird die SelectNodes-Methode verwendet, um den XPath-Ausdruck aus der Benutzeroberfläche auf die Daten im XmlDataDocument anzuwenden:

Schließlich kann man durch die XmlNodeList iterieren um die Ergebnisse der XPath-Abfrage in der Benutzeroberfläche anzuzeigen:

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Adobe schließt neun kritische Lücken in Reader und Acrobat

Das jüngste Update bringt insgesamt zwölf Fixes. Schadcode lässt sich unter Umständen ohne Interaktion mit…

1 Tag ago

Fabrikautomatisierung: Siemens integriert SPS-Ebene

Eine softwarebasierte Workstation soll es Ingenieuren erlauben, sämtliche Steuerungen zentral zu verwalten. Pilotkunde ist Ford.

1 Tag ago

Ebury-Botnet infiziert 400.000 Linux-Server weltweit

Kryptodiebstahl und finanzieller Gewinn sind laut ESET-Forschungsbericht die vorrangigen neuen Ziele.

2 Tagen ago

Sicherheitslücken in Überwachungskameras und Video-Babyphones

Schwachstellen aus der ThroughTek Kaylay-IoT-Plattform. Dringend Update-Status der IoT-Geräte prüfen.

2 Tagen ago

AWS investiert Milliarden in Cloud-Standort Brandenburg

Fast acht Milliarden Euro fließen in die deutsche Region der AWS European Sovereign Cloud. Das…

2 Tagen ago

Hochsichere Software für Electronic Knee Boards der Bundeswehrpiloten

Im Rahmen der umfassenden Digitalisierung der Bundeswehr ersetzen Electronic Knee Boards die herkömmlichen Handbücher von…

2 Tagen ago