lehrerbibliothek.deDatenschutzerklärung
ADO .NET - Das Entwicklerbuch
ADO .NET - Das Entwicklerbuch




David Sceppa

Microsoft Press
EAN: 9783860636510 (ISBN: 3-86063-651-0)
750 Seiten, kartoniert, 19 x 24cm, 2002, mit CD-ROM

EUR 49,90
alle Angaben ohne Gewähr

Umschlagtext
Das Nachschlagewerk zur Programmierung von datenbankgestützen Web- und Windowsapplikationen mit ADO.NET

ADO.NET ist Microsofts neue, mächtige und stabile Technologie für den Zugriff auf Daten und Bestandteil des .NET Frameworks. Demzufolge kommt kein Entwickler an ADO.NET vorbei, der sich mit Datenbankzugriffen in .NET-Anwendungen beschäftigt, wobei das komplett neue Objektmodell viel Raum für Informationsbedarf lässt. David Sceppa erklärt deshalb ADO.NET von den Basics bis zu fortgeschrittenen Themen, immer praxisnah und mit Gefühl für die Situation seiner Leser, denen er am Ende jedes Kapitels noch offene Fragen in den Mund legt, um in den Antworten letzte Unklarheiten zu beseitigen. So erlesen Sie sich umfangreiches Wissen zum Objektmodell und den wichtigsten Objekten von ADO.NET, den besten Programmiertechniken, den Umgang mit XML, bis hin zur Verwendung von Datenprovidern für Oracle-Datenbanken. Eine umfangreiche CD mit hilfreichen Tools macht aus diesem Buch einen unverzichtbaren Begleiter bei der Programmierung mit ADO.NET.



Lesen Sie:

Das ADO.NET-Objektmodell

.NET-Datenprovider

ADO.NET-Anwendungen mit dem DataForm-Assistenten erstellen

Verbindungen zu Datenbanken herstellen

Mit DataAdapter-Objekten Daten abrufen

Mit Daten offline arbeiten

Mit DataSet-Objekten arbeiten

Mit relationalen Daten arbeiten

Sortieren, suchen und filtern

Mit stark typisierten DataSet-Objekten arbeiten

Aktualisierungen an Ihre Datenbank übermitteln

Mit XML-Daten arbeiten

Effektive Windows- und WebAnwendungen erstellen

SQL, ODBC und Oracle Client .NET-Datenprovider verwenden



Auf Begleit-CD:

- Beispielcode aus dem Buch in Visual Basic und C#

- Englische und deutsche Ausgabe als Ebook

- 3 Tools (inkl. Quellcode) zum effizienteren ADO .NET-Programmierung

ADO.NET Ad Hoc Query Tool

ADO.NET DataAdapter Builder

ADO.NET Navigation Control

- .NET Framework Software Development Kit + Service Pack 1



David Sceppa ist Mitglied des Visual Basic .NET Teams, in dem er für den Test von Datenbank-relevanten Features zuständig ist. Durch seine Tätigkeit besitzt er umfassendes Insiderwissen über ADO.NET und Visual Studio.NET. Zuvor war er als Technical Lead im Microsoft Developer Support tätig, eine Erfahrung, die ihm beim Schreiben seiner Bücher sehr zu Gute kommt.
Inhaltsverzeichnis
Danksagung

Einführung

Für wen ist dieses Buch?
Was finden Sie in dem Buch?
Codebeispiele, Tools und andere witzige Dinge
Systemanforderungen
Support

Teil A
Einführung in Microsoft ADO.NET

1 Überblick über ADO.NET

Warum ein neues Objektmodell?
Das ADO.NET-Objektmodell
.NET-Datenprovider
Namespaces
Warum werden separate Klassen und Bibliotheken verwendet?
Die Behandlung von .NET-Datenprovidern in diesem Buch
Verbundene Objekte
Unverbundene Objekte
Metadaten
Stark typisierte DataSet-Objekte
Fragen, die häufiger gestellt werden sollten

2 ADO.NET-Anwendungen mit dem DataForm-Assistenten erstellen
Jeder weiß eine Demo zu schätzen
Mit dem DataForm-Assistenten ein datengebundenes Formular erstellen
Eine Verbindung wählen
Tabellen aus Ihrer Datenbank auswählen
Beziehungen in Ihrem DataSet erzeugen
Spalten für die Anzeige auswählen
Eine Anzeigeart auswählen
Das neue datengebundene Formular verwenden
Daten in Ihrem neuen datengebundenen Formular anzeigen
Kaskadierende Änderungen mit dem DataRelation-Objekt
Änderungen an Ihre Datenbank übermitteln
Das Komponentenfach
Der DataForm-Assistent als Ausgangspunkt
Fragen, die häufiger gestellt werden sollten

Teil B
Verbindungen herstellen - Die Verwendung eines .NET-Datenproviders

3 Die Verbindung mit Ihrer Datenbank

Connection-Objekte verwenden
SQL Server für das Volk!
Connection-Objekte erzeugen
Verbindungszeichenfolgen
Verbindungen öffnen und schließen
Verbindungspooling
Verbindungen zerstören
Mit Verbindungen andere Objekte erzeugen
Datenbank-Schemainformationen abrufen
Entwurfszeitfeatures von Visual Studio .NET
Mit Verbindungen im Server-Explorer arbeiten
Eine Datenverbindung zum Server-Explorer hinzufügen
Verbindungen zu Ihrer Anwendung hinzufügen
Die neue Verbindung zur Laufzeit verwenden
Wo ist der Code?
OleDbConnection-Objektreferenz
Eigenschaften des OleDbConnection-Objekts
Methoden des OleDbConnection-Objekts
Ereignisse des OleDbConnection-Objekts
Visual Basic .NET-Codefragmente, die Ereignisse umfassen
Fragen, die häufiger gestellt werden sollten

4 Ihre Datenbank abfragen
Command-Objekte im Code verwenden
Ein Command-Objekt erzeugen
Eine Abfrage ausführen, die keine Zeilen zurückgibt
Mit einem DataReader-Objekt die Ergebnisse einer Abfrage überprüfen
Eine Abfrage ausführen, die einen einzelnen Wert zurückgibt
Eine parametrisierte Abfrage ausführen
Eine gespeicherte Prozedur aufrufen
Daten von Ausgabeparametern abrufen
Eine Abfrage innerhalb einer Transaktion ausführen
Commands in Visual Studio .NET erzeugen
Elemente aus der Toolbox ziehen und ablegen
Eine Verbindung angeben
Den Abfrage-Generator verwenden
Ihr neues Command-Objekt im Code verwenden
Elemente vom Server-Explorer ziehen und ablegen
Command-, DataReader- und Parameter-Objektreferenz
Eigenschaften des OleDbCommand-Objekts
Methoden des Objekts OleDbCommand
Eigenschaften des Objekts OleDbDataReader
Methoden des OleDbDataReader-Objekts
Parameter-Objekte erzeugen
Eigenschaften des OleDbParameter-Objekts
Fragen, die häufiger gestellt werden sollten

5 Mit DataAdapter-Objekten Daten abrufen
Was ist ein DataAdapter-Objekt?
Wie sich der DataAdapter von anderen Abfrageobjekten unterscheidet
Die Anatomie des DataAdapter
DataAdapter-Objekte erzeugen und verwenden
Einen DataAdapter erzeugen
Abfrageergebnisse abrufen
Die Abfrageergebnisse Ihrem DataSet zuordnen
Mit Batch-Abfragen arbeiten
Zeilen von einer gespeicherte Prozedur abrufen
Schemainformationen abrufen
DataAdapter-Objekte in Visual Studio .NET erzeugen
Einen DataAdapter von der Toolbox ziehen und ablegen
Den Datenadapter-Konfigurations-Assistenten verwenden
Elemente vom Server-Explorer ziehen und ablegen
Vorschau auf die Ergebnisse Ihres DataAdapter
Den vom Assistenten generierten Code untersuchen
DataAdapter-Objektreferenz
Eigenschaften des DataAdapter-Objekts
Methoden des DataAdapter-Objekts
Ereignisse des DataAdapter-Objekts
Fragen, die häufiger gestellt werden sollten

Teil C
Mit Daten offline arbeiten - Das ADO.NET-DataSet

6 Mit DataSet-Objekten arbeiten

Features des DataSet-Objekts
Mit unverbundenen Daten arbeiten
Scrollen, sortieren, suchen und filtern
Mit hierarchischen Daten arbeiten
Änderungen zwischenspeichern
XML-Integration
Einheitliche Funktionalität
DataSet-Objekte verwenden
Ein DataSet-Objekt erzeugen
Die Struktur untersuchen, die durch den Aufruf von DataAdapter.Fill erzeugt wurde
Die Daten untersuchen, die von einem DataAdapter zurückgegeben wurden
Daten in Ihrem DataSet überprüfen
Versuchen Sie das hier zu Hause, aber nur zu Hause -
DataTable-Objekte im Code erzeugen
Autoinkrement-Gebote und -Verbote
Den Inhalt einer DataTable ändern
Mit DataSet-Objekten in Visual Studio .NET arbeiten
Ein DataSet aus DataAdapter-Objekten generieren
Ein neues DataSet aus dem Stand erzeugen
Ein nicht typisiertes DataSet erzeugen
DataSet-, DataTable-, DataColumn-, DataRow-, UniqueConstraint- und
ForeignKeyConstraint-Objektreferenz
Eigenschaften des DataSet-Objekts
Methoden des DataSet-Objekts
Ereignisse des DataSet-Objekts
Das Ereignis MergeFailed
Eigenschaften des DataTable-Objekts
Methoden des DataTable-Objekts
Ereignisse des DataTable-Objekts
Eigenschaften des DataColumn-Objekts
Eigenschaften des DataRow-Objekts
Methoden des DataRow-Objekts
Eigenschaften des UniqueConstraint-Objekts
Eigenschaften des ForeignKeyConstraint-Objekts
Fragen, die häufiger gestellt werden sollten

7 Mit relationalen Daten arbeiten
Ein kurzer Überblick über relationalen Datenzugriff
Join-Abfragen
Separate Abfragen
Hierarchische ADO-Recordset-Objekte
ADO.NET-DataRelation-Objekte
Mit DataRelation-Objekten im Code arbeiten
DataRelation-Objekte erzeugen
In Beziehung stehende Daten suchen
Ihre Daten mit DataRelation-Objekten überprüfen
Fremdschlüsseleinschränkungen und Null-Werte
Selbstreferenzierende DataRelationship-Objekte
N:m-Beziehungen
DataRelation-Objekte in ausdrucksbasierten DataColumnObjekten verwenden
Änderungen weitergeben
Weg von Join-Abfragen
DataRelation-Objekte in Visual Studio .NET erzeugen
Eine DataRelation zu einem stark typisierten DataSet hinzufügen
Eine DataRelation zu einem nicht typisierten DataSet hinzufügen
DataRelation-Objektreferenz
Eigenschaften des DataRelation-Objekts
Fragen, die häufiger gestellt werden sollten

8 Sortieren, suchen und filtern
Die Such- und Filterfeatures des DataTable-Objekts verwenden
Eine Zeile mit ihren Primärschlüsselwerten suchen
Komplexere Suchvorgänge durchführen
Suchvorgänge mit Platzhaltern durchführen
Mit Trennzeichen arbeiten
Die zusätzlichen Select-Methoden verwenden
Was ist ein DataView-Objekt?
DataView-Objekte geben Daten von einer DataTable zurück
DataView-Objekte sind keine SQL-Abfragen
Mit einer DataRelation Joins simulieren
Mit DataView-Objekten im Code arbeiten
DataView-Objekte erzeugen
Die Eigenschaft RowStateFilter verwenden
Das DataRowView-Objekt verwenden
Alle Datenzeilen überprüfen, die über eine DataView verfügbar sind
In einer DataView nach Daten suchen
DataRowView-Objekte ändern
DataView-Objekte in Visual Studio .NET erzeugen
Ein neues DataView-Objekt zu Ihrem Designer hinzufügen
Die Eigenschaften Ihres DataView-Objekts setzen
DataView-Objektreferenz
Die Eigenschaften des DataView-Objekts
Methoden des DataView-Objekts
Das ListChanged-Ereignis des DataView-Objekts
Die Eigenschaften des DataRowView-Objekts
Die Methoden des DataRowView-Objekts
Fragen, die häufiger gestellt werden sollten

9 Mit stark typisierten DataSetObjekten arbeiten
Stark typisierte DataSet-Objekte erzeugen
Die schwierige Methode
Die einfache Methode
Stark typisierte DataSet-Objekte verwenden
Eine Zeile hinzufügen
Eine Zeile suchen
Eine Zeile bearbeiten
Mit Null-Werten arbeiten
Mit hierarchischen Daten arbeiten
Andere DataSet-, DataTable- und DataRow-Features
Wann werden stark typisierte DataSet-Objekte verwendet?
Softwarekomponenten und Schweizer Armeemesser
Entwurfszeitvorteile
Laufzeitvorteile
Weitere Überlegungen
Wählen Sie Ihren Weg
Fragen, die häufiger gestellt werden sollten

10 Aktualisierungen an Ihre Datenbank übermitteln
Eine Geschichtsstunde
Vorteile der Übermittlung von Änderungen mit ADORecordsetObjekten
Nachteile der Übermittlung von Änderungen mit ADORecordsetObjekten
Mit ADO.NET-Command-Objekten Aktualisierungen übermitteln
Mit ADO.NET-DataAdapter-Objekten Aktualisierungen übermitteln
Ihre DataAdapter-Objekte manuell konfigurieren
Gebundene Parameter einführen
Aktualisierungen mit gespeicherten Prozeduren übermitteln
Ihre eigene Aktualisierungslogik angeben
Mit dem CommandBuilder-Objekt Aktualisierungslogik generieren
Wie der CommandBuilder Aktualisierungslogik generiert
Vor- und Nachteile der Verwendung des CommandBuilder
Mit dem Datenadapter-Konfigurations-Assistenten Aktualisierungslogik generieren
Die Struktur des DataAdapter überprüfen
Optionen zum Erstellen von Aktualisierungslogik
Mit gespeicherten Prozeduren Aktualisierungen übermitteln
Vor- und Nachteile der Verwendung des Assistenten
Weitere Aktualisierungsüberlegungen
Vollständige Parallelitätsoptionen
Mit Null-Werten arbeiten
Aktualisierungen in Transaktionen übermitteln
Die TableMappings-Auflistung verwenden
Die beste Methode der Aktualisierung
OleDbCommandBuilder-Objektreferenz
Eigenschaften des OleDbCommandBuilder-Objekts
Die Methoden des OleDbCommandBuilder-Objekts
Fragen, die häufiger gestellt werden sollten

11 Erweiterte Aktualisierungsszenarien
Eine Zeile nach der Übermittlung einer Aktualisierung aktualisieren
Den neu generierten Wert der Zeitstempelspalte abrufen, nachdem Sie eine Aktualisierung übermittelt haben
Mit Batch-Abfragen Daten abrufen, nachdem Sie eine Aktualisierung übermittelt
haben
Neue Daten mit Ausgabeparametern abrufen
Mit dem RowUpdated-Ereignis des DataAdapter-Objekts Daten abrufen, nachdem Sie eine Aktualisierung übermittelt haben
Die Timestamp-Beispielanwendung
Neu generierte Autoinkrementwerte abrufen
Mit SQL Server arbeiten
Mit Access 2000 arbeiten
Mit Oracle-Sequenzen arbeiten
Beispielanwendungen, die Autoinkrementwerte abrufen
Die NOCOUNT-Einstellung von SQL Server verwenden
Hierarchische Änderungen übermitteln
Anstehende Einfügungen und Löschungen übermitteln
Mit Autoinkrementwerten und relationalen Daten arbeiten
Änderungen isolieren und erneut integrieren
Mit der Methode GetChanges Ressourcen sparen
Fehlgeschlagene Aktualisierungsversuche elegant behandeln
Für Konflikte im Voraus planen
Den Anwender über Fehlschläge informieren
Den aktuellen Inhalt von widersprüchlichen Zeilen abrufen
Wenn Sie beim ersten Mal keinen Erfolg haben ...
Die Beispielanwendung Conflicts
Mit verteilten Transaktionen arbeiten
Transaktionskoordinatoren und Ressourcenmanager
Verteilte Transaktionen im .NET Framework
Datenbankunterstützung für verteilte Transaktionen
Ihre Komponenten erstellen
Die Beispielanwendung DistributedTransaction
Andere Vorteile der Verwendung der Komponentendienste
Verwenden Sie für erweiterte Aktualisierungsszenarien ADO.NET
Fragen, die häufiger gestellt werden sollten

12 Mit XML-Daten arbeiten
Die Lücke zwischen XML und dem Datenzugriff überbrücken
XML-Daten lesen und schreiben
Die XML-Methoden des DataSet-Objekts
Schemata ableiten
ADO.NET-Eigenschaften, die sich auf das Schema Ihres XMLDokuments auswirken
Änderungen und XML-Dokumente zwischenspeichern
DataSet + XmlDocument = XmlDataDocument
Das XmlDataDocument-Objekt verwenden
Auf das DataSet als XML-Dokument zugreifen
Aktualisierungen des XML-Dokuments zwischenspeichern
XML-Daten von SQL Server 2000 abrufen
Mit SELECT...FOR XML-Abfragen arbeiten
Der SQL XML .NET-Datenprovider
Mit einem SqlXmlCommand Daten in ein XmlDocument laden
Mit einem SqlXmlAdapter Daten in ein DataSet laden
Mit Vorlagenabfragen arbeiten
Mit XPath-Abfragen arbeiten
Eine XSLT-Transformation anwenden
Aktualisierungen übermitteln
Ein einfaches ADO.NET- und XML-Beispiel
Zwei Wege, ein Ziel
ADO.NET und XML: Ein nettes Paar
Fragen, die häufiger gestellt werden sollten

Teil D
Mit ADO.NET effektive Anwendungen erstellen

13 Effektive Windows-Anwendungen erstellen

Mit Datenbindung schnell eine Benutzeroberfläche erstellen
Schritt 1: Ihren DataAdapter und Ihr DataSet erzeugen
Schritt 2: Gebundene Textfelder hinzufügen
Schritt 3: Daten abrufen
Schritt 4: Navigationsschaltflächen ergänzen
Schritt 5: Add- und Delete-Schaltflächen ergänzen
Schritt 6: Änderungen übermitteln
Schritt 7: Edit-, Update- und Cancel-Schaltflächen ergänzen
Schritt 8: Untergeordnete Daten betrachten
Schritt 9: Ein zweites Formular an die gleiche Datenquelle binden
Schritt 10: Die Benutzeroberfläche verbessern
Schritt 11: Wenn etwas (ganz) richtig gemacht werden soll -
Datenbindung - Zusammenfassung
Überlegungen zum Anwendungsdesign
Nur die Daten abrufen, die Sie wirklich benötigen
Aktualisierungsstrategien
Verbindungsstrategien
Mit BLOB-Daten arbeiten
Benutzeroberflächen, die mit ADO.NET-Power erstellt werden
Fragen, die häufiger gestellt werden sollten

14 Effektive Webanwendungen erstellen
Eine kurze Einführung in Webanwendungen
ASP.NET erleichtert die Erstellung von Webanwendungen
Das Gute und das Schlechte der Zustandslosigkeit
Die Verbindung mit Ihrer Datenbank
Mit vertrauenswürdigen Verbindungen arbeiten
Mit Access-Datenbanken arbeiten
Daten auf Ihrer Webseite anzeigen
DataBinder.Eval verwenden
DataGrid-Steuerelemente an Abfrageergebnisse binden
Daten zwischen erneuten Datenbankabfragen zwischenspeichern
Der Ansatz, keinen Zustand zu speichern
Daten auf dem Client zwischenspeichern
Zustandsverwaltung auf Ihrem Webserver
Zustandsverwaltung in Ihrer Datenbank
Richtlinien für die Zustandsverwaltung
Paging
Paging-Features des Web-DataGrid
Paging-Features der Fill-Methode des DataAdapter
Abfragen erstellen, die eine Datenseite zurückgeben
Das Beispiel PagingOptions
Daten auf einer Webseite bearbeiten
Mit dem DataGrid die Bearbeitung von Daten vereinfachen
Die Bearbeitungsereignisse des DataGrid behandeln
Änderungen an Ihre Datenbank übermitteln
Das ShoppingCart-Beispiel
Fragen, die häufiger gestellt werden sollten

Teil E
Anhang

A Andere .NET-Datenprovider verwenden

Der SQL Client .NET-Datenprovider
Benannte Parameter und Parametermarker
Mit einer SqlConnection die Verbindung zu einer SQL Server-Datenbank herstellen
Abfrageergebnisse mit einem SqlDataAdapter abrufen
Die SqlCommand- und SqlDataReader-Objekte verwenden
Die GetSql-Methoden und der SqlTypes-Namespace
Gespeicherte Prozeduren aufrufen
Datenbank-Schemainformationen abrufen
Der ODBC .NET-Datenprovider
Mit einer OdbcConnection die Verbindung zu Ihrer Datenbank herstellen
Mit parametrisierten Abfragen arbeiten
Abfrageergebnisse mit einem OdbcDataAdapter abrufen
Abfrageergebnisse mit einem OdbcDataReader überprüfen
Eine gespeicherte Prozedur aufrufen
Datenbank-Schemainformationen abrufen
Der Oracle Client .NET-Datenprovider
Mit einer OracleConnection die Verbindung zu Ihrer Oracle-Datenbank herstellen
Mit parametrisierten Abfragen arbeiten
Abfrageergebnisse mit einem OracleDataAdapter abrufen
Abfrageergebnisse mit einem OracleDataReader überprüfen
Oracle-spezifische Datentypen
Eine gespeicherte Prozedur aufrufen
Daten von Oracle-REF-Cursors abrufen
Datenbank-Schemainformationen abrufen
Allgemeine Provider-übergreifende Überlegungen
Vom Provider unabhängigen Code schreiben
Den richtigen .NET-Provider-Datentyp bestimmen

B Tools
ADO.NET Ad Hoc Query Tool
Die Verbindung mit Ihrer Datenbank
.NET-Datenprovider ergänzen
Abfragen ausführen
Abfrage-Schemainformationen betrachten
Änderungen übermitteln
Anwendungseinstellungen
ADO.NET DataAdapter Builder
Ihre Aktualisierungslogik angeben
ADO.NET Navigation Control
Das ADO.NET Navigation Control zur Visual Studio .NET-Toolbox hinzufügen
Die Dateneigenschaften des ADO.NET Navigation Control setzen
Die verbleibenden Eigenschaften des ADO.NET Navigation Control setzen

Stichwortverzeichnis

Über den Autor