Share via


Vergleich zwischen ADO.NET und ADO

Dieser Dokumentation für die Vorschau nur ist und in späteren Versionen geändert. Leere Themen wurden als Platzhalter eingefügt.]

Sie können die Features von ADO.NET kennen, durch deren Vergleich zu bestimmten Features von ActiveX Data Objects (ADO).

Im Arbeitsspeicher Darstellungsweisen von Daten

In ADO ist die speicherinterne Darstellung der Daten des Recordsets. In ADO.NET ist es das Dataset. Gibt es wichtige Unterschiede zwischen Ihnen.

Anzahl der Tabellen

Ein Recordset sieht wie eine einzelne Tabelle. Wenn ein Recordset Daten aus mehreren Datenbanktabellen enthalten soll, muss eine JOIN-Abfrage verwendet werden, die die Daten aus den verschiedenen Datentabellen in einer einzigen Ergebnistabelle zusammenfasst.

Im Gegensatz dazu ist ein Dataset eine Auflistung von einer oder mehreren Tabellen. Die Tabellen innerhalb eines Datasets werden Datentabellen; als bezeichnet.Insbesondere sind DataTable Objekte. Wenn ein Dataset Daten aus mehreren Datenbanktabellen enthält, enthält er i. d. r. mehrere DataTable-Objekte. Jedes DataTable-Objekt werden typischerweise einer einzelnen Datenbanktabelle oder-Sicht entspricht. Auf diese Weise kann ein Dataset die Struktur der zugrunde liegenden Datenbank imitieren.

Ein Dataset enthält in der Regel auch Beziehungen. Eine Beziehung innerhalb eines Datasets ist analog zu einer Fremdschlüsselbeziehung in einer Datenbank –, Zeilen der Tabellen miteinander verbindet. Beispielsweise wenn ein Dataset über eine Tabelle über Investoren und eine weitere Tabelle enthält jedes Investor Stock Einkäufe, es kann auch eine Beziehung, die jede Zeile der Investor-Tabelle mit der entsprechenden Zeilen der Tabelle Bestellungen verbinden enthalten.

Da das Dataset mehrere enthalten, Tabellen separate und kann Informationen über Beziehungen zwischen Ihnen verwalten, kann es viel umfangreicheren Datenstrukturen als ein Recordset, einschließlich self-relating Tabellen und Tabellen mit n: n Beziehungen enthalten.

Daten Navigations- und Cursor

In ADO können Sie die Zeilen des Recordsets mit ADO MoveNext-Methode sequenziell durchsuchen. In ADO.NET sind die Zeilen als Auflistungen dargestellt, sodass Sie eine Tabelle durchlaufen können wie über eine Auflistung oder über den Ordinal- oder Primärschlüsselindex auf bestimmte Zeilen zugreifen. DataRelation-Objekte verwalten Informationen über Haupt-und Detaildatensätze und stellen eine Methode ermöglicht das Abrufen der Datensätze im Zusammenhang mit der Sie arbeiten. Die Zeile der Tabelle Investor beginnend für "Nate Sun", z. B.Sie können auf die Zeilen der, die seine Käufe beschreibt Purchase Tabelle navigieren.

Hinweis

Windows Forms-Anwendungen bieten BindingNavigator Datensätze in einer Datenquelle navigieren.Weitere Informationen finden Sie unter BindingNavigator-Steuerelement (Windows Forms).

Ein Cursor-von ist ein Datenbankelement, das die Datensatznavigation, die Möglichkeit, Daten und die Sichtbarkeit von Änderungen an der Datenbank durch andere Benutzer steuert. ADO.NET keine inhärente Cursorobjekt aber stattdessen enthält die Klassen, die Funktionalität eines herkömmlichen Cursors bieten. Beispielsweise ist die Funktionalität eines vorwärtsgerichteten, schreibgeschützten Cursors in ADO.NET DataReader-Objekt verfügbar.

Minimiertes öffnen Verbindungen

In ADO.NET öffnen Sie Verbindungen nur so lange, eine Operation Datenbank z. B. Select oder Update auszuführen. Können Sie Zeilen in ein Dataset einzulesen und ohne mit der Datenquelle verbunden bleiben dann mit Ihnen arbeiten. In ADO kann das Recordset nicht verbundenen Zugriff bereitstellen, doch ADO primär für verbundenen Zugriff vorgesehen ist.

Besteht eine wesentliche Unterschied zwischen getrennten Verarbeitung in ADO und ADO.NET. Bei ADO kommunizieren Sie mit der Datenbank durch Aufrufe an einen OLE DB-Provider. In ADO.NET Kommunikation mit der Datenbank über TableAdapters oder Datenadapter (z. B. SqlDataAdapter), wodurch Aufrufe an einen OLE DB-Provider oder die von der zugrunde liegenden Datenquelle bereitgestellten APIs. Der wichtige Unterschied besteht darin, dass der Adapter können Sie steuern wie die Änderungen am DataSet an die Datenbank übertragen werden – für Leistung optimieren, Überprüfungen Daten Validierung oder andere zusätzliche Verarbeitung hinzufügen.

Freigeben von Daten zwischen Anwendungen

Übertragen eines ADO.NET-Datasets zwischen Anwendungen ist viel einfacher als übertragen eines ADO Recordset getrennt. Sie verwenden COM-marshalling, um ein getrennt ADO-Recordset von einer Komponente zu einem anderen zu übertragen. Zum Übertragen von Daten in ADO.NET verwenden Sie ein Dataset, das einen XML-Stream übertragen werden kann.

Die Übertragung von XML-Dateien bietet folgende Vorteile über COM-marshalling:

Umfangreichere Datentypen

Com-marshalling stellt eine begrenzte Reihe von Datentypen, die von COM-Standard definiert. Da die Übermittlung von Datasets in ADO.NET auf einem XML-Format basiert, besteht keine Beschränkung auf Datentypen. Folglich können die Komponenten Freigabe des Datasets verwenden Datentypen jeweils Rich Satz Sie normalerweise verwenden würden.

Leistung

Übertragen eines großen ADO-Recordsets oder eines großen ADO.NET-Datasets kann Netzwerkressourcen; beanspruchen.wächst der Umfang der Daten übersteigt die Belastung im Netzwerk platziert auch. ADO und ADO.NET können Sie die zu minimieren, welche Daten übertragen werden. Aber ADO.NET bietet ein weiteres Leistungsvorteil, Datentyp-Konvertierungen von ADO.NET nicht erforderlich ist. ADO, die COM-marshalling zum Übertragen von Datensätzen legt zwischen Komponenten, erfordert erfordert, dass ADO-Datentypen in COM-Datentypen konvertiert werden.

Überwinden von Firewalls

Eine Firewall kann zwei Komponenten, die nicht verbundene ADO-Recordsets zu übertragen versuchen stören. Beachten Sie, dass Firewalls in der Regel so konfiguriert sind, dass HTML-Text übergeben, sondern auf Systemebene-Anforderungen (z. B. com-marshalling) verhindern von übergeben ermöglichen.

Da Komponenten ADO.NET-Datasets unter Verwendung von XML austauschen, lassen Firewalls Datasets zu übergeben.

Siehe auch

Konzepte

Vorteile von ADO.NET

Binden von Steuerelementen an Daten in Visual Studio

Weitere Ressourcen

Übersicht über von Datenanwendungen in Visual Studio

Herstellen von Datenverbindungen in Visual Studio

Vorbereiten der Anwendung zum Empfangen von Daten

Abrufen von Daten in Ihre Anwendung

Bearbeiten von Daten in der Anwendung

Validieren von Daten

Speichern von Daten

Tools zum Arbeiten mit Datenquellen in Visual Studio