Microsoft ADO.NET Das Entwicklerbuch

Ähnliche Dokumente
Inhaltsverzeichnis. Einleitung... 11

Visual Basic.NET und ADO.NET

Datenbanken. Proseminar Objektorientiertes Programmieren mit.net und C# Sebastian Pintea. Institut für Informatik Software & Systems Engineering

Praktische Übungen. Working environments : MS SQL Server App. Development:.NET / C#

Verbindung zwischen der Anwendung und

Einstieg in ADO.NET. Überblick über die Zusammenhänge. Kapitel 1

Inhaltsverzeichnis. Thorsten Kansy. Datenbankprogrammierung mit.net 3.5. Mehrschichtige Applikationen mit Visual Studio 2008 und MS SQL Server 2008

Visual Basic.NET undado.net

Richtig einsteigen: Access 2010 VBA-Programmierung

Inhaltsverzeichnis. Vorwort 13

Access 2000 und MS SQL Server im Teamwork

ADO.NET Grundlagen und Profiwissen

SQL Server 2008-Programmierung mit der CLR und.net

Einstieg in ADO.NET. In dieser Lektion lernen Sie

Programmieren lernen in ASP.NET mit C#

Datenbankprogrammierung mit.net 4.0

Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona

Vorwort 11. Eine neue Datenbank erstellen 79;

<Trainingsinhalt> XML und Datenbanken

Das Einsteigerseminar ASP

Datenbank-Programmierung mit Visual C# 2012 (Buch + E-Book)

Inhaltsverzeichnis. Vorwort Teil I Einführung. 1 Einleitung Der Microsoft SQL Server... 19

MOC 10265A: Datenzugriffslösungen mit Microsoft Visual Studio 2010 entwickeln

FRANZIS PROFESSIONAL SERIES. Herbert Burbiel. SOA & Webservices. ~ in der Praxis. 197 Abbildungen

William R. Vaughn ADO 2.5. VB-Datenbafikprogrammierung für Profis. Galileo Press

Access 2002 und MS SQL Server 2000

Inhaltsverzeichnis. Vorwort 11. Teill Einführung

Inhaltsverzeichnis. Vorwort Vorwort zur 2. Ausgabe Teil I Einführung. 1 Einleitung Der Microsoft SQL Server...

Walter Doberenz, Thomas Gewinnus. Datenbankprogrammierung mit Visual Basic 2012

Inhaltsverzeichnis. 1 Der SQL Server 2008 stellt sich vor Die grafischen Tools des SQL Server Eine neue Datenbank erstellen 87

öffnen den Tabellenverknüpfungs-Manager. Bild 1: Verknüpfte Tabellen in einer Datenbank Bild 2: Fehlgeschlagener Zugriff auf eine verknüpfte Tabelle

Microsoft Office Word 2007

Thorsten Kansy. Datenbankprogrammierung. mit.net 3.5 HANSER

Übersicht. Einleitung 13. Teill Überblick 21

Microsoft Office Access 2010

Inhaltsverzeichnis Einführung 1 Webanwendungen - Grundlagen

SQL Server 2005 Der schnelle Einstieg

Developing SQL Databases (MOC 20762)

Microsoft Access Schulungen

Richtig einsteigen: Access 2007 VBA-Programmierung

Microsoft Windows Communication Foundation

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen...

Dataport IT Bildungs- und Beratungszentrum. Access Grundlagenseminar Access Aufbauseminar... 3

Microsoft Visio Das offizielle Trainingsbuch

i i apitel apitel K K Inhalt Inhalt

Inhaltsverzeichnis. Teil I Überblick... 21

C# - Einführung in die Programmiersprache Arbeiten mit ADO.NET. Leibniz Universität IT Services Anja Aue

Office 2010 Programmierung mit VSTO und.net 4.0

Kurs-Dokumentation. Zentrum für Informatik ZFI AG. Refresher Microsoft Access Programmierung (PA1P-0418) -IT Ausbildung nach Mass

Inhalt Vorwort... I So benutzen Sie dieses Buch... II Inhalt... V Datenmodelle... 1 MS Access... 9

Unternehmensdatenbanken

Inhaltsverzeichnis ... Danksagung 11. Einführung 13. Wie Sie Ihr erstes objektorientiertes Programm schreiben 23

Grundlagen relationaler Datenbanken Access Grundlagenseminar Access Aufbauseminar Von Excel 2010 zu Access

Vor- und Nachteile speicheroptimierter Tabellen

101 VisualBasic.NET Anwendungen

1 Einführung 1. 2 Einrichten der Arbeitsumgebung 9. 3 Schnelleinstieg in Xcode und Objective-C 25

ADO.NET -- Grundlagen und Profiwissen

Inhaltsverzeichnis. Danksagungen 20

Tutorial: Verwendung von Visual Studio 2005 als XML-Werkzeug

LINQ im Einsatz. von Walter Doberenz, Steve Eichert, Jim Wooley, Fabrice Marguerie. 1. Auflage. Hanser München 2008

Microsoft Office Excel 2010

Microsoft SQL Server 2000 Programmierung

Vorwort...10 Einleitung...12 Lernen Üben Anwenden...12 Inhalt und Aufbau des Buches...13 Inhalt...13 Aufbau Access 2007 (fast) alles ist

Datenbankimplementierung

Inhalt 1 2. Über dieses Buch 9. Eigene Web Apps erstellen 15. Web Apps weiterentwickeln 27

Microsoft Excel 2013 auf einen Blick

.NET Windows Forms. Markt + Technik Verlag. Chris Payne

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

Inhaltsverzeichnis. Einleitung und Danksagung. 1 Was ist SharePoint? - Ein Überblick.

ACCESS PROGRAMMIEREN GRUNDLAGEN UND PRAXISWISSEN

MCSA: SQL 2016 Database Development

Vorwort... Die Webseite zum Buch... Über die Autoren...

Ihre erste ADO.NET-Anwendung mit Microsoft Visual Studio 2005 erstellen

SQL Server 2008 Der schnelle Einstieg

Microsoft Windows SharePoint Services v3 - Das offizielle Trainingsbuch

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Inhaltsverzeichnis. 1 Einleitung 11

Microsoft Excel Das offizielle Trainingsbuch Frye

Brogrammiereii lernen in

Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten

Lernprogramm "Veröffentlichen von KML- Services"

ASP.NET. Grundlagen und Profiwissen. Webserverprogrammierung und XML Web Services im.net-framework. von Patrick A Lorenz.

Data Mining mit Microsoft SQL Server

Dipl.-Hdl., Dipl.-Kfm. ACCESS 2007

ASP.NET WebForms - Einstieg und Grundlagen

ASP.NET WebForms - Einstieg und Grundlagen

datenfabrik.merge Record Linkage Verschmelzen von Duplikaten in strukturierten Daten 1

Das Programmierhandbuch SQL Server 2005

Übersicht. Teil I Einführung. Teil II Grundlagen. Teil III Programmiertechniken. Vorwort 17. Die Webseite zum Buch 19. Über die Autoren 21

Microsoft Office Outlook klipp & klar

Inhaltsverzeichnis. Teil I Erste Schritte. 1 Einleitung Teil II Grundlagen von VBA. 2 Die ersten VBA-Prozeduren erstellen...

ACCESS. Access-Daten nach Excel verknüpfen INTERAKTIV ACCESS-DATEN NACH EXCEL VERKNÜPFEN BASICS

Vorwort Einführung in Power Query Erste Abfrage erstellen... 21

OpenOffice Base 3.4 PRAXIS. bhv. Datenbank mit. Schritt für Schritt eine Datenbank mit OpenOffice Base erstellen

Oracle BI 11g R1: Repositorys erstellen

Madrid Amsterdam

Transkript:

Microsoft ADO.NET 2.0 - Das Entwicklerbuch von David Sceppa 1. Auflage Microsoft ADO.NET 2.0 - Das Entwicklerbuch Sceppa schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG Thematische Gliederung: Datenbankprogrammierung Microsoft 2006 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 86063 541 4

Inhaltsverzeichnis Danksagung... 17 Einführung... 19 An wen sich das Buch richtet... 20 Wie das Buch organisiert ist... 20 Systemanforderungen... 20 SQL Server 2005 Express Edition konfigurieren... 21 Codebeispiele... 22 Support... 22 Teil A Erste Schritte mit Microsoft ADO.NET... 25 1 Überblick über ADO.NET... 27 Kein neues Objektmodell?!?... 28 Das ADO.NET-Objektmodell... 29.NET-Datenprovider... 30 Warum werden separate Klassen und Bibliotheken verwendet?... 32 Die Behandlung der.net-datenprovider in diesem Buch... 33 Verbundene Objekte... 34 Nicht verbundene Klassen... 37 Metadaten... 44 Stark typisierte DataSet-Klassen... 45 Fragen, die häufiger gestellt werden sollten... 46 2 Ihre erste ADO.NET-Anwendung mit Microsoft Visual Studio 2005 erstellen... 49 Jeder weiß eine Demo zu schätzen... 50 Der DataForm-Assistent wurde verworfen... 50 Das Datenzugriffsformular ohne Code erstellen... 51 Das neue Projekt erstellen... 51 Eine neue Datenquelle hinzufügen... 52 Die Datenquelle verwenden, um Elemente in das Formular einzufügen... 67 Das Projekt ausführen... 69 Verknüpfte Daten in das Formular einfügen... 71 Den von Visual Studio generierten Code untersuchen... 73 Besseren Datenzugriffscode als die Designer schreiben!... 75 Fragen, die häufiger gestellt werden sollten... 76

6 Inhaltsverzeichnis Teil B Verbindungen herstellen einen.net-datenprovider verwenden... 79 3 Verbinden mit Ihrer Datenbank... 81 SqlConnection-Objekte erzeugen... 82 SqlConnection-Objekte öffnen... 83 SqlConnection-Objekte schließen... 83 Bereinigen in eigener Regie... 84 Verbindungszeichenfolgen... 87 Was ist eine Verbindungszeichenfolge?... 87 Builder für Verbindungszeichenfolgen einführen... 89 Sicherheit von Verbindungszeichenfolgen... 96 Verbindungspooling... 100 Verbindungshandles und physische Verbindungen... 101 Was ist Verbindungspooling?... 101 Wie Verbindungspooling Ihren Code verbessern kann... 103 Verbindungspooling aktivieren... 103 Wann wird die im Pool liegende Verbindung geschlossen?... 104 Verbindungspooling deaktivieren... 104 Beantworten Ihrer eigenen Fragen zum Verbindungspooling... 105 Wie ADO.NET ermittelt, ob eine Verbindung aus dem Pool verwendet wird... 106 ADO.NET dazu zwingen, einen neuen Pool zu verwenden... 106 Gepoolte Verbindungen manuell freigeben... 107 Welche anderen Poolingoptionen habe ich?... 107 SqlConnection als Ausgangspunkt verwenden... 108 SqlCommand-Objekte erzeugen... 109 SqlTransactions starten... 109 Schemainformationen abrufen... 110 Entwicklungszeitfeatures von Visual Studio... 117 Arbeiten mit Verbindungen in Server-Explorer... 117 Eine Datenverbindung zu Server-Explorer hinzufügen... 119 Was ist mit den Drag&Drop-Features passiert?... 121 Klassenreferenz für SqlConnection... 121 Eigenschaften der Klasse SqlConnection... 121 Methoden der Klasse SqlConnection... 125 Ereignisse der Klasse SqlConnection... 133 Fragen, die häufiger gestellt werden sollten... 135 4 Ihre Datenbank abfragen... 139 SqlCommand-Objekte im Code verwenden... 140 Ein SqlCommand-Objekt erzeugen... 140 Abfragen mit einem SqlCommand ausführen... 141 Eine Abfrage, die Zeilen zurückgibt, ausführen... 141 Einen einzelnen Wert abrufen... 144 Eine Abfrage ausführen, die kein Resultset zurückgibt... 146

Inhaltsverzeichnis 7 Aktionsabfragen im Batch ausführen... 149 Eine Abfrage ausführen, um XML-Daten abzurufen... 151 Eine Abfrage in einer Transaktion ausführen... 151 Eine Abfrage asynchron ausführen... 152 Mit dem SqlDataReader arbeiten... 159 Die Ergebnisse Ihrer Abfrage untersuchen... 160 Den SqlDataReader schließen... 161 Das Schema des Resultsets untersuchen... 163 Daten mit ordinalbasiertem Suchen schneller abrufen... 167 Stark typisierte Getter... 168 NULL-Werte behandeln... 169 SqlTypes... 172 Mehrere Resultsets aus einer Abfrage behandeln... 174 SQL Server 2005 und mehrere aktive Resultsets... 175 Mit parametrisierten Abfragen arbeiten... 180 Benutzereingaben in einer Abfragezeichenfolge formatieren... 180 Abfragekonstruktion und SQL-Injection... 181 Parametrisierte Abfragen... 182 Gespeicherte Prozeduren... 187 Entwurfszeitfeatures von Microsoft Visual Studio... 188 Was ist mit den Drag&Drop-Features passiert?... 190 Klassenreferenz für SqlCommand, SqlDataReader und SqlParameter... 190 Eigenschaften der Klasse SqlCommand... 190 Methoden der Klasse SqlCommand... 193 Ereignis der Klasse SqlCommand... 198 Eigenschaften der Klasse SqlDataReader... 198 Methoden der Klasse SqlDataReader... 199 SqlParameter-Objekte erzeugen... 204 Eigenschaften der Klasse SqlParameter... 205 Fragen, die häufiger gestellt werden sollten... 208 5 Daten mit SqlDataAdapter-Objekten abrufen... 211 Was ist ein SqlDataAdapter-Objekt?... 214 Wie sich der SqlDataAdapter von anderen Abfrageobjekten unterscheidet... 215 Anatomie der Klasse SqlDataAdapter... 218 SqlDataAdapter-Objekte erzeugen und verwenden... 220 Einen SqlDataAdapter erzeugen... 220 Abfrageergebnisse abrufen... 223 Die Abfrageergebnisse dem DataSet zuordnen... 229 Mit Batchabfragen arbeiten... 231 Zeilen von einer gespeicherten Prozedur abrufen... 233 Schemainformationen abrufen... 233

8 Inhaltsverzeichnis Entwurfszeitfeatures von Visual Studio 2005... 234 Was ist mit den Drag&Drop-Features passiert?... 235 SqlDataAdapter-Klassenreferenz... 235 Eigenschaften der Klasse SqlDataAdapter... 236 Methoden der Klasse SqlDataAdapter... 241 Ereignisse der Klasse SqlDataAdapter... 248 Fragen, die häufiger gestellt werden sollten... 253 Teil C Mit Daten offline arbeiten das ADO.NET-DataSet... 255 6 Mit DataSet-Objekten arbeiten... 257 Features der Klasse DataSet... 258 Mit unverbundenen Daten arbeiten... 258 Scrollen, sortieren, suchen und filtern... 259 Mit hierarchischen Daten arbeiten... 259 Änderungen zwischenspeichern... 260 XML-Integration... 260 Einheitliche Funktionalität... 260 DataSet-Objekte verwenden... 261 Ein DataSet-Objekt erzeugen... 261 Die Struktur untersuchen, die durch den Aufruf von SqlDataAdapter.Fill erzeugt wurde... 261 Die Daten untersuchen, die von einem SqlDataAdapter zurückgegeben wurden... 263 Daten in Ihrem DataSet überprüfen... 266 DataTable-Objekte im Code erzeugen... 270 Autoinkrement-Gebote und -Verbote... 278 Den Inhalt einer DataTable ändern... 285 ADO.NET 2.0-Optionen für DataSet-Serialisierung und Remoting... 297 Mit DataSet-Objekten in Visual Studio arbeiten... 304 Stark typisierte DataSets in Visual Studio erzeugen... 304 Ein nicht typisiertes DataSet erzeugen... 305 DataSet-, DataTable-, DataColumn-, DataRow-, UniqueConstraint- und ForeignKeyConstraint-Klassenreferenz... 309 Eigenschaften der Klasse DataSet... 309 Methoden der Klasse DataSet... 314 Ereignisse der Klasse DataSet... 322 Das Ereignis MergeFailed... 322 Eigenschaften der Klasse DataTable... 323 Methoden der Klasse DataTable... 328 Ereignisse der Klasse DataTable... 335 Eigenschaften der Klasse DataColumn... 338 Eigenschaften der Klasse DataRow... 344 Methoden der Klasse DataRow... 346

Inhaltsverzeichnis 9 Eigenschaften der Klasse UniqueConstraint... 353 Eigenschaften der Klasse ForeignKeyConstraint... 354 Fragen, die häufiger gestellt werden sollten... 356 7 Mit relationalen Daten arbeiten... 363 Ein kurzer Überblick über relationalen Datenzugriff... 365 Join-Abfragen... 365 Separate Abfragen... 366 Hierarchische ADO-Recordset-Objekte... 367 ADO.NET-DataRelation-Objekte... 368 Mit DataRelation-Objekten im Code arbeiten... 369 DataRelation-Objekte erzeugen... 369 In Beziehung stehende Daten suchen... 372 Die Daten mit DataRelation-Objekten überprüfen... 378 Auf sich selbst verweisende DataRelationship-Objekte... 382 m:n-beziehungen... 385 DataRelation-Objekte in ausdrucksbasierten DataColumn-Objekten verwenden... 388 Änderungen weitergeben... 392 Von Join-Abfragen abrücken... 393 DataRelation-Objekte in Microsoft Visual Studio erzeugen... 394 Eine DataRelation zu einem stark typisierten DataSet hinzufügen... 394 Eine DataRelation zu einem nicht typisierten DataSet hinzufügen... 394 DataRelation-Klassenreferenz... 395 Eigenschaften der Klasse DataRelation... 395 Fragen, die häufiger gestellt werden sollten... 399 8 Sortieren, suchen und filtern... 405 Die Such- und Filterfeatures der Klasse DataTable verwenden... 406 Eine Zeile nach ihren Primärschlüsselwerten suchen... 406 Dynamischere Suchvorgänge durchführen... 408 Suchvorgänge mit Platzhaltern durchführen... 409 Mit Trennzeichen arbeiten... 410 Die zusätzlichen Select-Methoden verwenden... 412 Was ist ein DataView-Objekt?... 415 DataView-Objekte geben Daten aus einer DataTable zurück... 416 DataView-Objekte sind keine SQL-Abfragen... 416 Mit DataView-Objekten im Code arbeiten... 418 DataView-Objekte erzeugen... 418 Die Eigenschaft RowStateFilter verwenden... 420 Die Klasse DataRowView verwenden... 420 Alle Datenzeilen untersuchen, die über eine DataView verfügbar sind... 423 In einer DataView nach Daten suchen... 424 DataRowView-Objekte ändern... 426

10 Inhaltsverzeichnis Mit einer DataView eine neue DataTable erzeugen... 427 DataView-Objekte in Microsoft Visual Studio erzeugen... 431 Ein neues DataView-Objekt in Ihren Designer hinzufügen... 431 Eigenschaften Ihres DataView-Objekts festlegen... 431 DataView-Klassenreferenz... 432 Methoden der Klasse DataView... 435 Ereignisse der Klasse DataView... 439 Eigenschaften der Klasse DataRowView... 440 Methoden der Klasse DataRowView... 441 Fragen, die häufiger gestellt werden sollten... 444 9 Mit stark typisierten DataSet-Objekten und TableAdapters arbeiten... 451 Stark typisierte DataSets... 452 Stark typisierte DataSet-Objekte erzeugen... 453 Der schwere Weg... 454 Der einfache Weg... 456 Stark typisierte DataSet-Objekte verwenden... 462 Eine Zeile hinzufügen... 462 Eine Zeile suchen... 465 Eine Zeile bearbeiten... 466 Mit NULL-Werten arbeiten... 467 Mit hierarchischen Daten arbeiten... 468 Andere DataSet-, DataTable- und DataRow-Features... 469 Eigenen Code hinzufügen... 469 Wann verwendet man stark typisierte DataSet-Objekte?... 473 Softwarekomponenten und Taschenmesser... 473 Entwurfszeitvorteile... 474 Laufzeitvorteile... 475 Weitere Überlegungen... 481 Tabellen und Spalten manuell hinzufügen... 484 Standardwerte für DataSets verbessern... 487 Einführung in TableAdapters... 488 Einen TableAdapter erzeugen... 488 Einen TableAdapter verwenden... 494 Weitere Abfragen hinzufügen... 500 Eigenen Code hinzufügen... 503 Beschränkungen von TableAdapter... 503 Wählen Sie Ihren Weg... 506 Fragen, die häufiger gestellt werden sollten... 506 10 Aktualisierungen an Ihre Datenbank übermitteln... 509 Aktualisierungen mit parametrisierten SqlCommand-Objekten übermitteln... 516 Eine neue Zeile übermitteln... 516

Inhaltsverzeichnis 11 Eine vorhandene Zeile aktualisieren... 517 Eine vorhandene Zeile löschen... 525 Was brauchen Sie noch?... 526 Aktualisierungen mit einem SqlDataAdapter übermitteln... 527 Aktualisierungen mit SqlDataAdapter-Objekten übermitteln... 530 Ihre SqlDataAdapter-Objekte manuell konfigurieren... 530 Gebundene Parameter... 530 Aktualisierungen mit gespeicherten Prozeduren übermitteln... 533 Ihre eigene Aktualisierungslogik angeben... 537 Mit dem SqlCommandBuilder Aktualisierungslogik generieren... 538 Wie der SqlCommandBuilder Aktualisierungslogik generiert... 539 Parallelitätsoptionen bei der Verwendung des SqlCommandBuilder... 541 Vor- und Nachteile der Verwendung des SqlCommandBuilder... 541 Mit dem TableAdapter-Konfigurations-Assistenten von Visual Studio Aktualisierungslogik erzeugen... 542 Die Aktualisierungslogik des TableAdapter untersuchen... 543 Optionen zum Erstellen von Aktualisierungslogik... 544 Aktualisierungen mit gespeicherten Prozeduren übermitteln... 545 Vor- und Nachteile des Assistenten... 549 Rückkehr der DataAdapter!... 549 Den DataAdapter-Konfigurations-Assistenten aufrufen... 550 Eine einfache Datenzugriffsschicht mit SqlDataAdapter erzeugen... 550 Aktualisierungen in SqlTransactions übermitteln... 558 Die TableMappings-Auflistung verwenden... 563 Die beste Methode der Aktualisierung... 565 SqlCommandBuilder-Klassenreferenz... 566 Eigenschaften der Klasse SqlCommandBuilder... 566 Methoden der Klasse SqlCommandBuilder... 568 Fragen, die häufiger gestellt werden sollten... 571 11 Erweiterte Aktualisierungsszenarios... 579 Eine Zeile nach der Übermittlung einer Änderung aktualisieren... 580 Den Inhalt einer DataRow aktualisieren, nachdem Sie eine Änderung übermittelt haben... 581 Mit Batchabfragen Daten abrufen, nachdem Sie eine Aktualisierung übermittelt haben... 582 Neue Daten mit Ausgabeparametern abrufen... 585 Mit dem RowUpdated-Ereignis der SqlDataAdapter-Klasse Daten abrufen, nachdem Sie eine Aktualisierung übermittelt haben... 586 RefreshAfterUpdate-Beispielcode... 589 Neu generierte Autoinkrementwerte abrufen... 589 Mit SQL Server arbeiten... 589 Mit Access-Datenbanken arbeiten... 592 Mit Oracle-Sequenzen arbeiten... 593

12 Inhaltsverzeichnis Beispielanwendungen, die Autoinkrementwerte abrufen... 595 Hierarchische Änderungen übermitteln... 596 Anstehende Einfügungen und Löschungen übermitteln... 596 Mit Autoinkrementwerten und relationalen Daten arbeiten... 599 Änderungen isolieren und erneut integrieren... 601 Mit der Methode GetChanges Bandbreite sparen... 601 Änderungen isolieren und erneut integrieren Beispielcode... 612 Fehlgeschlagene Aktualisierungsversuche behandeln... 612 Konflikte einkalkulieren... 613 Den Benutzer über Fehlschläge informieren... 613 Den aktuellen Inhalt von widersprüchlichen Zeilen abrufen... 615 Wenn Sie beim ersten Mal keinen Erfolg haben... 616 Die Konflikte Beispielanwendung... 618 Mit verteilten Transaktionen arbeiten... 618 Transaktionskoordinatoren und Ressourcenmanager... 620 Verteilte Transaktionen im.net Framework... 621 Datenbankunterstützung für verteilte Transaktionen... 621 Ihre Komponenten erstellen... 622 System.Transactions Beispiele... 625 Batchabfragen... 625 Transaktionen mit Batchaktualisierungen verwenden... 626 Einen geeigneten Wert für UpdateBatchSize wählen... 627 Ereignisse... 627 Zeilen aktualisieren... 628 Batchaktualisierungen Beispiele... 628 SQL Bulk Copy... 628 Ein SqlLBulkCopy-Objekt erzeugen... 629 Daten zum Server schreiben... 630 Daten auf die Zieltabelle abbilden... 631 Die Enumeration SqlLBulkCopyOptions... 631 LBulkCopy-Beispielcode... 632 DataSet-Objekte und Transaktionen... 632 DataSet-Objekte und Transaktionen Beispielcode... 633 Verwenden Sie für erweiterte Aktualisierungsszenarios ADO.NET... 633 Fragen, die häufiger gestellt werden sollten... 633 12 Mit XML-Daten arbeiten... 637 Die Lücke zwischen XML und dem Datenzugriff überbrücken... 638 XML-Daten lesen und schreiben... 639 Die XML-Methoden der Klasse DataSet... 639 Schemas ableiten... 643 ADO.NET-Eigenschaften, die sich auf das Schema Ihres XML-Dokuments auswirken 644 Änderungen und XML-Dokumente zwischenspeichern... 646 DataSet + XmlDocument = XmlDataDocument... 648

Inhaltsverzeichnis 13 Die Klasse XmlDataDocument verwenden... 649 Auf das DataSet als XML-Dokument zugreifen... 649 Aktualisierungen des XML-Dokuments zwischenspeichern... 650 Die XML-Features von SQL Server 2005... 652 Der XML-Typ von SQL Server 2005... 652 Eine XPath-Abfrage ausführen, um Daten abzurufen... 657 Abfrageergebnisse mithilfe von XQuery als XML abrufen... 659 XML-Daten via SELECT FOR XML aus SQL Server 2000 abrufen... 662 Der SQL XML.NET-Datenprovider... 666 Mit einem SqlXmlCommand Daten in ein XmlDocument laden... 666 Mit einem SqlXmlAdapter Daten in ein DataSet laden... 668 Mit Vorlagenabfragen arbeiten... 669 Mit XPath-Abfragen arbeiten... 673 Eine XSL-Transformation anwenden... 675 Aktualisierungen übermitteln... 676 Ein einfaches ADO.NET- und XML-Beispiel... 680 Zwei Wege, ein Ziel... 681 ADO.NET und XML: Ein nettes Paar... 681 Fragen, die häufiger gestellt werden sollten... 682 Teil D Mit ADO.NET effektive Anwendungen erstellen... 687 13 Effektive Windows-Anwendungen erstellen... 689 Mit Datenbindung schnell eine Benutzeroberfläche erstellen... 690 Schritt 1: Ihr stark typisiertes DataSet erzeugen... 691 Schritt 2: Einfache datengebundene Steuerelemente dem Formular hinzufügen... 693 Schritt 3: Daten abrufen... 699 Schritt 4: Durch die Ergebnisse navigieren... 702 Schritt 5: Elemente hinzufügen und löschen... 704 Schritt 6: Änderungen übermitteln... 707 Schritt 7: Edit-, Update- und Cancel-Schaltflächen ergänzen... 709 Schritt 8: Untergeordnete Daten betrachten... 711 Schritt 9: Ein zweites Formular an dieselbe Datenquelle binden... 716 Schritt 10. Die Benutzeroberfläche verbessern... 717 Schritt 11: Wenn etwas (ganz) richtig gemacht werden soll... 724 Datenbindung Zusammenfassung... 725 Überlegungen zum Anwendungsdesign... 725 Nur die Daten abrufen, die Sie wirklich benötigen... 725 Aktualisierungsstrategien... 725 Verbindungsstrategien... 729 Mit BLOB-Daten arbeiten... 731 Benutzeroberflächen, die auf der Leistung von ADO.NET aufbauen... 737 Fragen, die häufiger gestellt werden sollten... 737

14 Inhaltsverzeichnis 14 Effektive Webanwendungen erstellen... 741 Eine kurze Einführung in Webanwendungen... 742 ASP.NET erleichtert die Erstellung von Webanwendungen... 742 Das Gute und das Schlechte der Zustandslosigkeit... 743 Vergesslicher Server, dummer Client... 743 Die Verbindung mit Ihrer Datenbank... 744 Verbindungen mit integrierter Sicherheit... 744 Mit Access-Datenbanken arbeiten... 747 Herausforderungen bei der Interaktion mit Datenbanken in ASP.NET 1.0... 747 Datenquellensteuerelemente... 748 Daten mithilfe eines SqlDataSource-Steuerelements anzeigen... 749 Features des SqlDataSource-Steuerelements... 755 Daten zwischen erneuten Datenbankabfragen zwischenspeichern... 764 Der Ansatz, keinen Zustand zu speichern... 764 Daten auf dem Client zwischenspeichern... 765 Zustandsverwaltung auf Ihrem Webserver... 768 Die SQL Server 2005 Notification Services... 770 Zustandsverwaltung in Ihrer Datenbank... 778 Richtlinien für die Zustandsverwaltung... 779 Paging... 780 Paging-Features des GridView-Steuerelements... 780 Paging-Features der DataAdapter-Klassen... 782 Abfragen erstellen, die eine Datenseite zurückgeben... 783 Seitenspezifische SQL Server 2005 Abfragen mit ROW_NUMBER erstellen... 784 Fragen, die häufiger gestellt werden sollten... 790 15 CLR-Integration in SQL Server 2005... 793 Damals: SQL Server mit erweiterten gespeicherten Prozeduren erweitern... 794 Heute: SQL Server durch CLR-Integration erweitern... 794 SQL/CLR-Code mit Microsoft Visual Studio 2005 einfacher erstellen... 796 Eigenschaften für Ihr SQL Server-Projekt festlegen... 796 Das Projekt erstellen und bereitstellen... 799 Elemente in Ihr Projekt hinzufügen... 799 Das Projekt mit einem SQL-Skript testen... 800 Szenarios für SQL/CLR... 800 Eine Skalarfunktion zur Datenprüfung erstellen... 800 Eine Aggregatfunktion erstellen... 803 Die aktuelle Datenbank über die Kontextverbindung abfragen... 807 SQL/CLR-Tabellenwertfunktionen erstellen... 810 Abfrageergebnisse aus einer gespeicherten Prozedur zurückgeben... 813 Daten über Parameter von gespeicherten Prozeduren zurückgeben... 817 Einen SQL/CLR-benutzerdefinierten Typ erstellen... 819 Was macht einen SQL/CLR-benutzerdefinierten Typ aus?... 819 Methoden und Eigenschaften für den benutzerdefinierten Typ verfügbar machen... 823

Inhaltsverzeichnis 15 Den benutzerdefinierten Typ in einer Clientanwendung einsetzen... 828 Zusammenfassung... 832 Fragen, die häufiger gestellt werden sollten... 832 Anhang A Andere.NET-Datenprovider verwenden... 837 Das Provider-Factory-Modell... 838 Beschränkungen der allgemeinen ADO.NET Schnittstellen... 838 Wie das Provider-Factory-Modell früheren Beschränkungen begegnet... 839 Beschränkungen des Provider-Factory-Modells... 845 Datenbankschemasuche... 849 Der ODBC.NET-Datenprovider... 853 Eine Verbindung zu Ihrer Datenbank mit einer OdbcConnection herstellen... 853 Abfragen unter Verwendung eines OdbcCommand ausführen... 854 Die Ergebnisse einer Abfrage mit einem OdbcDataAdapter abrufen... 858 Datenbank-Schemainformationen abrufen... 859 Der OLE DB.NET-Datenprovider... 862 Eine Verbindung zu Ihrer Datenbank mit einer OleDbConnection herstellen... 862 Abfragen unter Verwendung eines OleDbCommand ausführen... 864 Die Ergebnisse einer Abfrage mit einem OleDbDataAdapter abrufen... 867 Datenbank-Schemainformationen abrufen... 868 Der Oracle Client.Net-Datenprovider... 871 Eine Verbindung zu Ihrer Oracle-Datenbank mit einer OracleConnection herstellen... 872 Abfragen unter Verwendung eines OracleCommand ausführen... 872 Die Klasse OracleDataAdapter... 881 Datenbank-Schemainformationen abrufen... 890 Anhang B Beispiele und Tools... 893.NET-Datenprovider DSP... 894 Der ADO.NET-Data Explorer... 895 AdapterSet... 896 Stichwortverzeichnis... 899 Über den Autor... 927