dummies
 

Suchen und Finden

Titel

Autor/Verlag

Inhaltsverzeichnis

Nur ebooks mit Firmenlizenz anzeigen:

 

ADO.NET - Grundlagen und Profiwissen

Detlev Wanzke, Lothar Wanzke

 

Verlag Carl Hanser Fachbuchverlag, 2006

ISBN 9783446405196 , 799 Seiten

2. Auflage

Format PDF, OL

Kopierschutz Wasserzeichen

Geräte

49,90 EUR

Für Firmen: Nutzung über Internet und Intranet (ab 2 Exemplaren) freigegeben

Derzeit können über den Shop maximal 500 Exemplare bestellt werden. Benötigen Sie mehr Exemplare, nehmen Sie bitte Kontakt mit uns auf.


 

8 Die Data Adapter-Klasse (S. 204-205)

Bisher können Sie eine Verbindung zu einer Datenbank herstellen und Anweisungen gegen die Datenbank abschicken sowie Daten seriell aus der Datenbank auslesen. Sie haben den DataReader kennen gelernt als recht primitives Werkzeug zum Auslesen von Daten.

Jetzt kommen wir (endlich) zur wichtigsten Klasse innerhalb der .Net Data Provider, nämlich die DataAdapter-Klasse. Mit dieser Klasse lässt sich der gesamte Datenaustausch zur Datenbank sehr einfach bewerkstelligen. Sie brauchen im Wesentlichen nur eine einzige Methode, um die Daten aus der Datenbank zu laden, und eine weitere Methode, um die Änderungen an den Daten wieder zurückzuspeichern. Der DataAdapter nutzt dabei intern die zuvor in diesem Buch besprochenen Klassen, die Sie entweder über Designer oder über Programmcode erzeugen können.

Gegenüber der Version 1.x wurde der DataAdapter vorwiegend um Methoden und Eigenschaften zur Beschaffung von Metadaten erweitert. Über diese zusätzlichen Methoden können Sie z.B. herausfinden, durch welches Zeichen Parameter der zugrunde liegenden Datenbank in einer SQL-Anweisung gekennzeichnet werden, z.B. „@" beim SQL Server, „?" bei Access oder „:" bei Oracle.

8.1 Lokaler Datenspeicher und DataAdapter

Da der DataAdapter direkt mit dem lokalen Datenspeicher zusammenarbeitet, komme ich nicht mehr daran vorbei, einige Begriffe zum lokalen Datenspeicher bereits hier zu erläuten. Alle Klassen des lokalen Datenspeichers werden später noch in diesem Buch ausführlich behandelt.

Ein DataAdapter füllt immer eine oder mehrere Tabellen (DataTable-Objekte), entsprechend der Anzahl der Ergebnismengen des SelectCommands. Der lokale Datenspeicher enthält diese Tabellen. Die Tabellen wiederum können, müssen aber nicht in einem übergeordneten Objekt, einer DataSet-Klasse, enthalten sein. Das DataSet erlaubt es, unter anderem, Beziehungen (Relationen) für alle in ihm enthaltenen Tabellen anzulegen und so eine echte relationale Datenstruktur zu schaffen. In Abbildung 8.1 sehen Sie das Zusammenspiel zwischen dem DataAdapter und dem lokalen Datenspeicher. Sowohl die Tabellen als auch der DataAdapter sind eigenständige Objekte, die unabhängig voneinander existieren können. Das bedeutet, es besteht keine feste und dauerhafte Verbindung zwischen der Tabelle und dem DataAdapter, wie z.B. zwischen dem Command- Objekt und dem Connection-Objekt.

Sie brauchen einen Datenadapter, wenn Sie Daten von einer Datenbank in eine Tabelle laden und Datenänderungen innerhalb der lokalen Tabelle wieder in die Datenbank zurückspeichern wollen. Es ist jedoch nicht notwendig und in vielen Fällen nicht sinnvoll, dass das DataAdapter-Objekt für die gesamte Lebenszeit der Tabelle existiert. Bei größeren Anwendungen ist es sinnvoller, wenn Sie zum Laden der Daten eine Instanz des DataAdapters erzeugen und später wieder eine zum Zurückspeichern der Änderungen.

8.2 DataAdapter innerhalb des .Net Data Providers

Der DataAdapter fungiert als Brücke zwischen dem lokalen Datenspeicher (einem Data- Set oder einer DataTable) und der Datenbank. Über den DataAdapter können Sie sowohl Daten von der Datenbank in die Tabelle laden als auch wieder von der Tabelle in die Datenbank zurückschreiben.