Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
1 Einführung
2 Grundlagen der Sprachsyntax
3 Klassendesign
4 Weitere Datentypen
5 Multithreading
6 Collections und LINQ
7 Eingabe und Ausgabe
8 Anwendungen: Struktur und Installation
9 Code erstellen und debuggen
10 Einige Basisklassen
11 Windows-Anwendungen erstellen
12 Die wichtigsten Steuerelemente
13 Tastatur- und Mausereignisse
14 MDI-Anwendungen
15 Grafiken mit GDI+
16 Drucken
17 Entwickeln von Steuerelementen
18 Programmiertechniken
19 WPF – Grundlagen
20 Layoutcontainer
21 WPF-Steuerelemente
22 Konzepte von WPF
23 Datenbankverbindung mit ADO.NET
24 Datenbankabfragen mit ADO.NET
25 DataAdapter
26 Offline mit DataSet
27 Datenbanken aktualisieren
28 Stark typisierte DataSets
A Anhang: Einige Übersichten
Stichwort
Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Visual Basic 2008 von Andreas Kuehnel, Stephan Leibbrandt
Das umfassende Handbuch
Buch: Visual Basic 2008

Visual Basic 2008
3., aktualisierte und erweiterte Auflage, geb., mit DVD
1.323 S., 49,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1171-0
Pfeil 28 Stark typisierte DataSets
Pfeil 28.1 Erzeugung
Pfeil 28.1.1 Visual Studio Designer
Pfeil 28.1.2 Das Kommandozeilentool XSD.exe
Pfeil 28.2 Anatomie
Pfeil 28.2.1 Grobstruktur: Datentypen
Pfeil 28.2.2 Das typisierte DataSet
Pfeil 28.2.3 TableAdapter
Pfeil 28.2.4 Typisierte Tabelle
Pfeil 28.2.5 Typisierte Zeile
Pfeil 28.3 Datenzugriff
Pfeil 28.3.1 Datenzeilen ausgeben
Pfeil 28.3.2 Datenzeilen hinzufügen
Pfeil 28.3.3 Datenzeilen bearbeiten
Pfeil 28.3.4 Datenzeilen suchen
Pfeil 28.3.5 Spalten mit Null-Wert
Pfeil 28.3.6 Tabellenbeziehungen
Pfeil 28.4 Ein typisiertes DataSet manuell erzeugen
Pfeil 28.4.1 DataTable erzeugen
Pfeil 28.4.2 Spalten hinzufügen
Pfeil 28.4.3 Tabellenbeziehungen erstellen
Pfeil 28.5 TableAdapter erzeugen
Pfeil 28.5.1 Visual Studio Assistent
Pfeil 28.6 TableAdapter verwenden
Pfeil 28.6.1 Datenbeschaffung mit Fill
Pfeil 28.6.2 Datenbeschaffung mit GetData
Pfeil 28.6.3 Aktualisierung mit Update
Pfeil 28.6.4 Aktualisieren mit UpdateAll
Pfeil 28.6.5 Direkte Aktualisierung der Datenbank
Pfeil 28.6.6 TableAdapter mit mehreren Abfragen
Pfeil 28.6.7 TableAdapter ändern
Pfeil 28.7 Fazit: Typisierte oder nicht typisierte DataSets?


Galileo Computing - Zum Seitenanfang

28.5 TableAdapter erzeugen Zur nächsten ÜberschriftZur vorigen Überschrift

Die Klasse TableAdapter gibt es nicht, sondern der Designer von Visual Studio erzeugt tabellenspezifische Versionen. Trotz ähnlicher Funktionalität ist der TableAdapter nicht von der Klasse DataAdapter abgeleitet, sondern von System.ComponentModel.Component.

Wenn Sie zum Beispiel die Spalten ProductID, ProductName und UnitPrice der Tabelle Products in den Designer ziehen, was dem SQL-Statement

SELECT ProductID, ProductName, UnitPrice FROM Products

entspricht, enthält der TableAdapter ein SqlDataAdapter-Objekt, das entsprechend dem SQL-Statement konfiguriert ist. Mit einem TableAdapter können Sie somit eine DataTable in einem typisierten DataSet füllen oder die in einer DataTable anstehenden Änderungen zur Datenbank übermitteln.


Galileo Computing - Zum Seitenanfang

28.5.1 Visual Studio Assistent topZur vorigen Überschrift

Wenn Sie ein neues typisiertes DataSet generieren, indem Sie aus dem Server-Explorer Tabellen oder Spalten per Drag&Drop in den Designer ziehen, wird in der zugrunde liegenden Quellcodedatei neben der Klasse des typisierten DataSets für jede Tabelle auch eine extra TableAdapter-Klasse erzeugt (siehe Abschnitt 28.2.1, »Grobstruktur: Datentypen«).

Ein TableAdapter lässt sich aber auch über Visual Studio erzeugen. Legen Sie dazu zuerst ein leeres typisiertes DataSet an. Markieren Sie dazu das Projekt im Projektmappen-Explorer, und wählen Sie Neues Element hinzufügen. Im Vorlagendialog suchen Sie die Vorlage DataSet. Einen TableAdapter können Sie nun über das Menü Daten, das Kontextmenü des Designers oder dadurch bereitstellen, dass Sie das Element TableAdapter in den Designer ziehen. Danach öffnet sich ein Assistent, der Sie durch alle Konfigurationsschritte führt. Abbildung 28.6 zeigt dessen erste Seite. Hier wählen Sie entweder eine im Server-Explorer verfügbare Verbindung aus oder richten über die Schaltfläche Neue Verbindung eine neue Verbindung ein.

Abbildung 28.6 Konfigurieren der Verbindung eines TableAdapters

Nachdem Sie die Verbindung eingerichtet haben, verlangt der Assistent im nächsten Schritt die Angabe des Befehlstyps (siehe Abbildung 28.7). Sie können hier eine SQL-Anweisung angeben, eine neue gespeicherte Prozedur erstellen oder eine schon vorhandene gespeicherte Prozedur auswählen, um Daten abzurufen, zu aktualisieren, zu löschen oder hinzuzufügen.

Abbildung 28.7 Festlegen des Befehlstyps

Ich zeige die Schritte bei Wahl der obersten Option, SQL-Anweisungen verwenden. Im dann folgenden Dialog (siehe Abbildung 28.8) geben Sie das SQL-Statement manuell ein oder klicken auf die Schaltfläche Abfrage-Generator.

Abbildung 28.8 Erstellen einer SQL-Anweisung im Assistenten

Über die Schaltfläche Abfrage-Generator gelangen Sie zu dem in Abbildung 28.9 gezeigten Dialogfenster, in dem Sie zwischen Tabellen, Ansichten, Funktionen und Synonymen der entsprechenden Datenbank auswählen können. Unter Tabellen markieren Sie die Tabelle, für die der TableAdapter erzeugt werden soll, und bestätigen Sie Ihre Wahl mit Hinzufügen. Schließen Sie dann den Dialog.

Abbildung 28.9 Tabelle für den TableAdapter festlegen

Nachdem Sie die Tabelle festgelegt haben, können Sie das Dialogfenster schließen. Im nächsten Fenster spezifizieren Sie das SQL-Statement (siehe Abbildung 28.10). In der oberen Hälfte wählen Sie in der grafischen Anzeige der ausgewählten Tabelle ihre Spalten, oder Sie setzen ein Häkchen vor den Listeneintrag *(Alle Spalten), um die gesamte Tabelle zu erhalten.

Im zweiten Block des Dialogs können Sie für die ausgewählten Spalten eigene Spaltenbezeichner angeben, die Sortierungsart und Sortierreihenfolge festlegen sowie Auswahlkriterien bestimmen. Das resultierende SQL-Statement sehen Sie im dritten Block von oben.

Um zu testen, ob die erzeugte SQL-Anweisung auch das erwartete Ergebnis liefert, klicken Sie auf die Schaltfläche Abfrage ausführen. Das Ergebnis sehen Sie im untersten Block des Dialogfensters (siehe Abbildung 28.10). Entspricht es Ihren Erwartungen, schließen Sie das Fenster mit OK.

Abbildung 28.10 Abfrage-Generator zum Erstellen einer Abfrage

Nun gelangen Sie wieder zum Dialogfenster aus Abbildung 28.8 zurück. Über die Schaltfläche Erweiterte Optionen erreichen Sie den Dialog aus Abbildung 28.11, in dem Sie den TableAdapter-Konfigurationsassistenten anweisen, Aktualisierungslogik hinzuzufügen.

Abbildung 28.11 Erweiterte Optionen des TableAdapter-Konfigurationsassistenten

Wollen Sie die Daten nur lesen, können Sie die Optionen deaktivieren. Dazu reicht es, die erste Option Insert-, Update- und Delete-Anweisungen generieren abzuwählen, da die beiden anderen Optionen diese erste voraussetzen und automatisch mit deaktiviert werden.

In der WHERE-Klausel der Aktualisierungsbefehle INSERT, UPDATE und DELETE nutzt der Assistent immer die Primärschlüsselspalten der Tabelle. Sollen außerdem alle anderen Spalten verwendet werden, wählen Sie die Option Vollständige Parallelität verwenden.

Die Option Datentabelle aktualisieren ist nur für Datenbanken verfügbar, die Batch-Abfragen unterstützen, wie zum Beispiel der SQL Server. Mit aktivierter Option erzeugt der Assistent Abfragen, um den Inhalt der geänderten Datenzeilen nach Übermittlung der Änderungen sofort wieder abzurufen. Neue Werte, die serverseitig generiert werden, zum Beispiel Autoinkrementwerte von Primärschlüsselspalten, sind sofort nach Aufruf der Update-Methode in der DataRow verfügbar.

Nach Festlegung der erweiterten Optionen haben Sie die SQL-Anweisungen vollständig definiert und legen im nächsten Schritt des Assistenten die für den TableAdapter verfügbaren Methoden fest (siehe Abbildung 28.12). Die Namen können Sie beliebig wählen.

Abbildung 28.12 Methoden des TableAdapters festlegen

Die Methode Fill für die Methode zur Datenbeschaffung entspricht in Namen und Funktionalität der Methode Fill in der Klasse DataAdapter. Bitte beachten Sie, dass GetData bei jedem Aufruf eine neue typrichtige Tabelle erzeugt und mit Daten aus der Datenbank füllt.

Mit der dritten Option werden Methoden erzeugt, um Werte direkt zur Datenbank zu senden, ohne dabei eine DataRow zu erzeugen. Auf diese sogenannten DBDirect-Methoden gehe ich in Abschnitt 28.6.5, »Direkte Aktualisierung der Datenbank« noch einmal ein.

Damit ist der TableAdapter vollständig konfiguriert, und der letzte Dialog in Abbildung 28.13 zeigt die Zusammenfassung der DataTable-Funktionalität. Ein Klick auf Fertig stellen erzeugt den Code.

Abbildung 28.13 Funktionalitäten des neu konfigurierten TableAdapters



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.






<< zurück
  Zum Katalog
Zum Katalog: Visual Basic 2008
Visual Basic 2008
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Visual Basic 2012






 Visual Basic 2012


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: IT-Handbuch für Fachinformatiker






 IT-Handbuch für
 Fachinformatiker


Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2009
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

Nutzungsbestimmungen | Datenschutz | Impressum>

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de