Verwendung von ADO-Recordsets in Visual Basic .NET

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 315974 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Wie eine kleine Konsolenanwendung erstellt wird, die COM-Interop, verwendet um eine frühere Version ( legacy ) ADO-RecordSet erstellen, konvertieren es in ein ADO.NET DataSet und zeigen Sie dann die Anzahl der Datensatz erläutert. Sie erfahren, wie einfach es ist COM-Komponenten aus in Microsoft Visual Studio .NET verwendet.

Voraussetzungen

Sie benötigen die folgenden Elemente, die der Verfahren in diesem Artikel:
  • Ein Microsoft Windows 2000 Professional (oder Windows 2000 Server) oder Windows XP Professional-System mit dem .NET Framework installiert.
  • Allgemeine Vertrautheit mit ADO und ADO.NET.

COM-Komponenten aus Visual Studio .NET verwenden

  1. Starten Sie Visual Studio .NET.
  2. Klicken Sie auf Neues Projekt , klicken Sie auf Visual Basic-Projekte , und wählen Sie Konsolenanwendung . Nennen Sie die Anwendung ComDemo , und klicken Sie dann auf OK .
  3. Wenn das Projekt erstellt wird, sicherstellen, dass die Projektmappe Explorer sichtbar ist. Wenn dies nicht der Fall ist, drücken Sie STRG + ALT + L.
  4. Bevor Sie Sub Main() Code hinzufügen, fügen Sie einen Verweis auf die COM-Komponente, die Sie verwenden werden. Klicken Sie in der Projektmappen-Explorer mit der rechten Maustaste auf Verweise unter ComDemo und klicken Sie dann auf Verweis hinzufügen . Wählen Sie auf der Registerkarte COM Microsoft ActiveX Data Objects 2.5 Library . Klicken Sie auf auswählen . Ihre Auswahl sollten im Listenfeld Ausgewählte Komponenten angezeigt werden. Klicken Sie auf OK . ADODB unter Verweise aufgelistet, in der Webanwendung sollte jetzt angezeigt werden.
  5. Module1.vb sollte im Editor-Fenster geöffnet sein. Wird nicht, doppelklicken Sie auf diese Datei im Projektmappen-Explorer. Nun, da Sie einen Verweis auf eine ältere ADO Komponente haben, gibt seine vollständigen Funktionen zur Verfügung. Darüber hinaus bietet Visual Studio .NET vollständigen IntelliSense-Unterstützung für COM-Objekte.
  6. Die ersten Zeilen des Codes erstellen und öffnen eine Verbindung. Geben Sie Folgendes unmittelbar unterhalb der Zeile Sub Main() des Moduls ein:

    Hinweis: UID < benutzername > muss die entsprechenden Berechtigungen zum Ausführen dieser Vorgänge in der Datenbank verfügen.

    Dim cn As New ADODB.Connection()
    cn.ConnectionString = "provider=sqloledb;server=localhost;database=northwind;uid=<username>"
    cn.Open()
    					
  7. Anschließend erstellen Sie eine Instanz von einer ADO-RecordSet, Festlegen der Eigenschaften Cursor und Sperren. Um dies tun, fügen Sie Folgendes an den vorhandenen Code:
    Dim rs As New ADODB.RecordSet()
    rs.CursorLocation = ADODB.CursorLocationEnum.adUseClient
    rs.CursorType = ADODB.CursorTypeEnum.adOpenStatic
    rs.LockType = ADODB.LockTypeEnum.adLockBatchOptimistic
    						
    Hinweis : Dies sollte Code vertraut sein, wenn Sie Erfahrung mit älteren ADO haben. Der Unterschied ist, dass Sie jetzt aus in .NET arbeiten.
  8. Öffnen Sie ein RecordSet, indem Sie übergeben eine ad-hoc-SQL-Anweisung und das Verbindungsobjekt:
    rs.Open("select * from products", cn)
    					
  9. Trennen Sie das RecordSet, und schließen, die Verbindung:
    rs.ActiveConnection = Nothing
    cn.Close()
    					
  10. Sie haben nun ein getrenntes RecordSet. Um dies etwas interessanter gestalten und das RecordSet in einem vollständig verwendbar machen Anwendung, konvertieren Sie Sie an ein ADO.NET-DataSet mithilfe der OleDbDataAdapter -Klasse:
    Dim da As New System.Data.OleDb.OleDbDataAdapter()
    Dim ds As New DataSet()
    da.Fill(ds, rs, "products")
    					
  11. Schließlich fügen Sie die letzten zwei Zeilen von Code, um die Gesamtanzahl der Zeilen im DataSet in der Konsole zu schreiben:
    Console.Write("There are " & ds.Tables(0).Rows.Count.ToString & " total products.")
    Console.ReadLine()
    					

Führen Sie Code anzeigen (Module1.vb)

Module Module1

    Sub Main()
        Dim cn As New ADODB.Connection()
        cn.ConnectionString = "provider=sqloledb;server=(localhost);database=northwind;uid=<username>"
        cn.Open()

        Dim rs As New ADODB.RecordSet()
        rs.CursorLocation = ADODB.CursorLocationEnum.adUseClient
        rs.CursorType = ADODB.CursorTypeEnum.adOpenStatic
        rs.LockType = ADODB.LockTypeEnum.adLockBatchOptimistic
        rs.Open("select * from products", cn)
        rs.ActiveConnection = Nothing
        cn.Close()

        Dim da As New System.Data.OleDb.OleDbDataAdapter()
        Dim ds As New DataSet()
        da.Fill(ds, rs, "products")

        Console.Write("There are " & ds.Tables(0).Rows.Count.ToString & " total products.")
        Console.ReadLine()
    End Sub

End Module
				

Funktionsprüfung

  1. Drücken Sie F5, um die Anwendung im Debugmodus auszuführen.
  2. Nach einer kurzen Pause sollte Folgendes angezeigt:
    Es gibt 77 Produkte gesamt.
    Hinweis : Diese Anzahl kann abweichen, wenn Sie die Northwind geändert haben Datenbank.
  3. Drücken Sie die EINGABETASTE, um die Konsolenanwendung beenden und zur Visual Studio .NET zurückzukehren.

Problembehandlung

Möglicherweise müssen Sie die Verbindungszeichenfolge zur Ausführung dieser Anwendung--insbesondere des Servernamens ändern. Darüber hinaus zwar Provider = Sqloledb ist normalerweise nicht erforderlich für .NET-Anwendungen in diesem Fall Sie führen mehr es da ODBC für ältere ADO .NET verwendet.

Informationsquellen

Weitere Informationen zum Verfügbarmachen von COM-Komponenten für .NET Framework die folgende Microsoft-Website:
http://msdn2.microsoft.com/en-us/library/z6tx9dw3(vs.71).aspx
Weitere Informationen zu erweiterten COM-Interop die folgende Microsoft-Website:
http://msdn2.microsoft.com/en-us/library/bd9cdfyx(vs.71).aspx

Eigenschaften

Artikel-ID: 315974 - Geändert am: Mittwoch, 28. November 2007 - Version: 5.1
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft Visual Basic .NET 2003 Standard Edition
Keywords: 
kbmt kbhowtomaster kbinfo KB315974 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 315974
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Ihr Feedback an uns

 

Kontaktieren Sie uns, um weitere Hilfe zu erhalten

Kontaktieren Sie uns, um weitere Hilfe zu erhalten
Wenden Sie sich an den Answer Desk, um professionelle Hilfe zu erhalten.