working with vbscript adodb connection objects
Einführung in VBScript-Verbindungsobjekte: Lernprogramm Nr. 12
In meinem vorherigen VBS-Tutorial diskutierten wir über Excel-Objekte Im VBScript. In diesem Tutorial werde ich erklären Verbindungsobjekte die im VBScript verwendet werden.
VBScript unterstützt verschiedene Objekttypen, darunter auch Verbindungsobjekte. Verbindungsobjekte werden hauptsächlich als Objekte bezeichnet, die die Codierer beim Arbeiten und Behandeln der Datenbankverbindungen unterstützen.
Dieses Tutorial führt Sie durch alle Aspekte von Verbindungsobjekten in VBScript, einschließlich der verschiedenen Eigenschaften und Methoden, sowie durch einfache Beispiele zum besseren Verständnis.
Was du lernen wirst:
- Überblick
- Eigenschaften und Methoden von Verbindungsobjekten
- Herstellen einer Datenbankverbindung mit dem ADODB-Verbindungsobjekt
- Exportieren von Daten in eine Excel-Datei mithilfe des ADODB-Verbindungsobjekts
- Exportieren von Daten in eine Textdatei mithilfe des ADODB-Verbindungsobjekts
- Fazit
- Literatur-Empfehlungen
Überblick
Alle Datenbanken wie SQL Server, PL / SQL usw. müssen sein Eingerichtet auf Ihrem Computer, um mit den Datenbankverbindungen zu arbeiten.
Daher gibt es im QTP keinen einfachen Mechanismus, um eine Verbindung zur Datenbank herzustellen. Aber mit Hilfe von ADODB-Objekte können Sie mit der Datenbank interagieren und mit den SQL-Abfragen arbeiten, um die Daten aus der Datenbank abzurufen.
ADO steht für ActiveX-Datenobjekte Dies bietet den Mechanismus, um als Vermittler zwischen dem QTP und der Datenbank zu fungieren.
Dieses Thema bildete die Grundlage für die Arbeit mit der Datenbank und es wäre auf lange Sicht sehr hilfreich für Sie, wenn Sie es besser verstehen würden.
Ich werde versuchen, Ihnen die verschiedenen Codes, Eigenschaften und Methoden verständlich zu machen, die für die einfache Arbeit mit der Datenbank geschrieben werden müssen, damit Sie problemlos selbst einen Code schreiben können.
Beginnen wir nun mit den Eigenschaften und Methoden, die beim Herstellen einer Verbindung mit der Datenbank hilfreich sind.
Eigenschaften und Methoden von Verbindungsobjekten
Es gibt verschiedene Eigenschaften und Methoden, die das Extrahieren von Daten aus der Datenbank unterstützen.
beste Virenentfernungssoftware für PC
Die Liste der Eigenschaften des ADODB-Verbindungsobjekts lautet wie folgt:
# 1) Verbindungszeichenfolge ::
Dies ist eine sehr nützliche Eigenschaft, die zum Erstellen einer Datenbankverbindung verwendet wird und Verbindungsdetails wie die Details der enthält Treiber, Name des Datenbankservers, Benutzername und Kennwort .
# 2) Verbindungszeitlimit ::
Dies wird zum Definieren der erforderlichen Zeit für verwendet warten damit eine Verbindung hergestellt wird.
# 3) Anbieter ::
Diese Eigenschaft enthält alle anbieterbezogenen Details, d. H. Den Namen des Verbindungsanbieter .
# 4) Zustand ::
Dies liefert die Information über den Status der Verbindung, d. H. Wenn die Verbindung ist An oder aus .
Die oben genannten sind die Eigenschaften eines Verbindungsobjekts. Es gibt jedoch eine RecordSet-Objekt auch (werden wir in einer Weile diskutieren).
Die Liste der Eigenschaften lautet wie folgt:
# 1) BOF:
Diese Eigenschaft wird verwendet, um die Position des aktuellen Datensatzes zu ermitteln. Wenn die Position des aktuellen Datensatzes vorhanden ist vor der ersten Aufnahme des Recordset gibt diese Eigenschaft dann true zurück.
# 2) EOF:
Dies ist genau das Gegenteil von dem oben genannten. Wenn die Position des aktuellen Datensatzes vorhanden ist nach der letzten Aufzeichnung des Recordset gibt diese Eigenschaft dann true zurück.
Hinweis: Die Werte von EOF und BOF sind falsch, wenn das Recordset keine Datensätze enthält. Dies ist nützlich, wenn leere Datensätze validiert werden, d. H. Wenn das Datensatzset keine Datensätze enthält.
# 3) MaxCount:
Dies ist nützlich beim Einstellen der maximal Werte von Zeilen / Datensätzen, die aus der Datenbank zurückgegeben werden können, d. h. wenn Sie maximal 20 Zeilen gleichzeitig aus den Daten abrufen möchten, können Sie diese Eigenschaft auf 20 festlegen.
Schauen wir uns nun Methoden an:
Die Liste der ADODB-Verbindungsobjekt- und RecordSet-Objektmethoden lautet wie folgt:
- Öffnen: Diese Methode wird verwendet, um ein Datenbankverbindungsobjekt / Recordset-Objekt zu öffnen.
- Ausführen: Dies wird verwendet, um eine bereitgestellte SQL-Abfrage auszuführen.
- Schließen: Dies wird verwendet, um eine Datenbankverbindung / ein Recordset zu schließen, die geöffnet wird.
- Stornieren: Dies ist eine Recordset-Methode, mit der die vorhandene Ausführung der Datenbankverbindung abgebrochen wird.
- Klon: Dies ist eine Recordset-Methode, mit der der Klon des vorhandenen Recordset-Objekts abgerufen wird.
- Bewegung: Dies ist eine Recordset-Methode, mit der der Zeiger auf der Grundlage der angegebenen Anzahl an einer bestimmten Stelle innerhalb eines Recordset verschoben wird.
- Anzahl: Dies ist eine Recordset-Methode und wird verwendet, um die Gesamtzahl der im Recordset vorhandenen Felder abzurufen, d. H. Die Gesamtzahl der Spalten in einer Tabelle.
- Punkt (i): Dies ist eine Recordset-Methode. Dies wird verwendet, um das Element abzurufen, dessen Index durch die Gesamtzahl der in einem Recordset vorhandenen Felder angegeben wird.
Dies sind die verschiedenen Eigenschaften und Methoden, die Sie beim Umgang mit den verbindungsbezogenen Objekten verwenden.
Fahren wir mit der praktischen Implementierung fort, um die Funktionsweise dieser Objekte zu kennen.
Herstellen einer Datenbankverbindung mit dem ADODB-Verbindungsobjekt
In diesem Abschnitt werden die verschiedenen Schritte zum Erstellen einer Datenbankverbindung mithilfe des Verbindungsobjektmechanismus in VBScript beschrieben.
Es folgt der Code zum Erstellen einer Verbindung:
Setze obj = createobject ('ADODB.Connection') ' Erstellen eines ADODB-Verbindungsobjekts
Setze obj1 = createobject ('ADODB.RecordSet') ' Erstellen eines ADODB Recordset-Objekts
Dim dbquery ‘Deklarieren einer Datenbankabfragevariablen bquery
Dbquery = 'Wählen Sie acctno aus dbo.acct aus, wobei name =' Harsh '.' ‘Abfrage erstellen
obj.Open 'Provider = SQLQLEDB; Server =. SQLEXPRESS; UserId = Test; Passwort = P @ 123; Datenbank = AUTODB' ‘Verbindung öffnen
obj1.Open dbquery, obj ‘Ausführen der Abfrage mit Recordset
val1 = obj1.fields.item (0) Gibt den Feldwert zurück
msgbox val1 „Anzeigen des Werts des Feldelements 0, d. H. Spalte 1
obj.close ‘Schließen des Verbindungsobjekts
obj1.close ‘Schließen des Verbindungsobjekts
Setze obj1 = Nichts Recordset-Objekt freigeben
Setze obj = Nichts Verbindungsobjekt freigeben
Mal sehen, wie es funktioniert:
- Erstens, a Verbindung Objekt mit dem Namen 'obj' wird mit dem Schlüsselwort 'createobject' erstellt und ADODB-Verbindung im Parameter beim Erstellen eines Datenbankverbindungsobjekts definiert.
- Dann ein Recordset-Objekt wird erstellt, um mit 'obj1' auf die Datensätze einer bestimmten Tabelle aus der Datenbank zuzugreifen. Recordset Object bietet eine Möglichkeit, auf die Datensätze aus der Datenbank zuzugreifen.
- Danach wird eine Variable für a deklariert Abfrage ‘Dbquery’ zum Speichern der Abfrage zum Abrufen der Datensätze aus der Datenbank.
- Dann ist ein Verbindungsobjekt, das oben erstellt wurde geöffnet Um mit dem Objekt zu arbeiten, geben Sie alle Details zum Anbieter wie SQL Server, Servername, Datenbankname, Benutzer-ID und Kennwort an.
- Eine Abfrage ist dann hingerichtet nach dem Öffnen des Recordset-Objekts durch Erwähnung der Abfrage und des Verbindungsobjekts.
- Als nächstes wird die Hauptaufgabe ausgeführt, um den Wert von Kontonummer abzurufen. einer bestimmten Person gemäß der Abfrage mit Felder des Recordset, das den Index des Elements erwähnt, in dem Konto-Nr. befindet sich in diesem Fall wie Punkt (0). Der Wert eines Feldes wird dann mit Hilfe eines Meldungsfeldes angezeigt.
Hinweis: Felder stehen für 'Spalten' und Recordset für 'Zeilen' einer Datenbanktabelle.
- Die Objekte sind dann geschlossen wie die Aufgabe abgeschlossen wurde.
- Schließlich sind beide Objekte - obj und obj1 freigegeben mit dem Schlüsselwort 'Nothing'.
Hinweis : Es wird empfohlen, die Objekte mit freizugeben ‘Objektname = Nichts setzen’ nach Abschluss der Aufgabe am Ende.
Wir haben alles über das Herstellen einer Verbindung mit der Datenbank und das Lesen und Anzeigen von Daten unter Verwendung einer Kombination aus Datenbank und QTP gesehen.
Sehen wir uns einige andere Szenarien mit dem Verbindungsobjekt an.
Exportieren von Daten in eine Excel-Datei mithilfe des ADODB-Verbindungsobjekts
In diesem Abschnitt werden die verschiedenen Schritte zum Exportieren der Daten in eine Excel-Datei aus der Datenbank mithilfe des Verbindungsobjektmechanismus in VBScript beschrieben.
Es folgt der Code für dieses Szenario:
Hash-Tabelle C ++ Beispiel
Set obj = CreateObject('ADODB.Connection') Set obj1 = CreateObject('ADODB.RecordSet ') Set obj2 = CreateObject('Excel.Application') Set obj3 = obj2.Workbooks.Open ('C:UsersRiya.xlsx') Set obj4 = obj3.Worksheets(1) obj.Provider =('Microsoft.ACE.OLEDB.12.0') obj.Open 'C:Users
ewdb.autodb' obj1.Open 'Select name, age from person', obj obj4.cells(1, 1) = 'Name' obj4.cells(1, 2) = 'Age' row = 2 While obj1.EOF = False obj4.cells(row, 1) = obj1.Fields('Name') obj4.cells(row, 2) = obj1.Fields('Age') obj1.MoveNext row = row+1 Wend obj3.Save obj2.Quit obj1.Close obj.Close Set obj4 = Nothing Set obj3 = Nothing Set obj2 = Nothing Set obj1 = Nothing Set obj = Nothing
Mal sehen, wie es funktioniert:
- Erstens Objekte - Verbindung Objekt, RecordSet-Objekt und Excel-Objekt Mit dem Namen 'obj' werden 'obj1' und 'obj2' mit dem Schlüsselwort 'createobject' erstellt.
- Dann ein Arbeitsmappenobjekt - 'Obj3' wird unter Angabe des Speicherorts der Excel-Datei und danach erstellt Arbeitsblatt Das Objekt ('obj4') wird erstellt, um das Blatt in der Excel-Datei anzugeben, in das die Daten exportiert werden müssen.
- Dann ist ein Verbindungsobjekt, das oben erstellt wurde geöffnet Um mit dem Objekt zu arbeiten, werden die Provider-Details erwähnt.
- Eine Abfrage ist dann hingerichtet nach dem Öffnen des Recordset-Objekts durch Erwähnung des Abfrage- und Verbindungsobjekts.
- Als nächstes wird die Hauptaufgabe ausgeführt, um die Werte für Name und Alter einer bestimmten Person in der Excel-Datei gemäß der Abfrage zu speichern Felder des Recordset in den Zellen des Blattes aus der Datenbank. Die Schleife wird fortgesetzt, bis der EOF nicht falsch ist (wir haben den EOF bereits besprochen).
- Excel-Arbeitsmappe ist dann Gerettet .
- Excel-Anwendung wird Verlassen wie die Aufgabe abgeschlossen wurde.
- Die Objekte sind dann geschlossen wie die Aufgabe abgeschlossen wurde.
- Schließlich sind alle Objekte freigegeben mit dem Schlüsselwort 'Nothing'.
Exportieren von Daten in eine Textdatei mithilfe des ADODB-Verbindungsobjekts
In diesem Abschnitt werden die verschiedenen Schritte zum Exportieren von Daten in eine Textdatei aus der Datenbank mithilfe des Verbindungsobjektmechanismus in VBScript beschrieben.
Es folgt der Code für dieses Szenario:
Set obj = CreateObject('ADODB.Connection') Set obj1 = CreateObject('ADODB.RecordSet ') Set obj2 = CreateObject('Scripting.FileSystemObject') Set obj3 = obj2.OpenTextFile('C:UsersRiya.xlsx') obj.Provider =('Microsoft.ACE.OLEDB.12.0') obj.Open 'C:Users
ewdb.autodb' obj1.Open 'Select name, age from person', obj obj3.WriteLine 'Name Age' obj3.WriteLine '------' While obj1.EOF = False obj3.WriteLine obj1.Fields('Name') & “ “ & obj1.Fields('Age') obj1.MoveNext Wend obj3.Close Set obj3 = Nothing Set obj2 = Nothing obj1.Close obj.Close Set obj1 = Nothing Set obj = Nothing
Mal sehen, wie es funktioniert:
- Erstens Objekte - Verbindung Objekt, RecordSet-Objekt und Dateiobjekt Mit dem Namen 'obj' werden 'obj1' und 'obj2' mit dem Schlüsselwort 'createobject' erstellt.
- Dann wird ein Dateiobjekt geöffnet, in dem das erwähnt wird Standort der Textdatei, in die die Daten exportiert werden müssen.
- Dann ist ein Verbindungsobjekt, das oben erstellt wurde geöffnet Um mit dem Objekt zu arbeiten, werden die Provider-Details erwähnt.
- Eine Abfrage ist dann hingerichtet nach dem Öffnen des Recordset-Objekts durch Erwähnung des Abfrage- und Verbindungsobjekts.
- Dann werden Name und Alter mit geschrieben Writeline Methode eines Dateisystemobjekts.
- Als nächstes wird die Hauptaufgabe ausgeführt, um die Werte von Name und Alter in die Textdatei einer bestimmten Person zu schreiben Felder des Recordset in den Zellen des Blattes aus der Datenbank. Die Schleife wird fortgesetzt, bis der EOF nicht falsch ist (wir haben den EOF bereits besprochen).
- Ein Dateiobjekt ist dann geschlossen und die dateibezogenen Objekte werden freigegeben.
- Die Objekte sind dann geschlossen wie die Aufgabe abgeschlossen wurde.
- Schließlich sind das Verbindungsobjekt und das Recordset-Objekt freigegeben mit einem 'Nothing' -Schlüsselwort.
Dies sind einige der wichtigsten Szenarien, die für das richtige Verständnis des Konzepts wichtig sind. Sie bilden die Grundlage für die Arbeit und den Umgang mit den Codes für die Behandlung verschiedener Arten von Szenarien beim Umgang mit Verbindungsobjekten im Skript.
Lassen Sie uns nun die Implementierung dieser Szenarien anhand eines einfachen Beispiels verstehen.
Beispiel:
Let’s see implementation of Exporting data in files Function Exporttoexcelfile() ‘Function for exporting data to excel file Set obj = CreateObject('ADODB.Connection') Set obj1 = CreateObject('ADODB.RecordSet ') Set obj2 = CreateObject('Excel.Application') Set obj3 = obj2.Workbooks.Open ('C:UsersRiya.xlsx') Set obj4 = obj3.Worksheets(1) obj.Provider =('Microsoft.ACE.OLEDB.12.0') obj.Open 'C:Users
ewdb.autodb' obj1.Open 'Select name, age from person', obj obj4.cells(1, 1) = 'Name' obj4.cells(1, 2) = 'Age' row = 2 If obj1.EOF = True Then Msgbox “No records found on the table!!” End If While obj1.EOF = False obj4.cells(row, 1) = obj1.Fields('Name') obj4.cells(row, 2) = obj1.Fields('Age') obj1.MoveNext row = row+1 Wend obj3.Save obj2.Quit obj1.Close obj.Close Set obj4 = Nothing Set obj3 = Nothing Set obj2 = Nothing Set obj1 = Nothing Set obj = Nothing End Function Function Exporttotextfile() ‘Function for exporting data to text file Set obj = CreateObject('ADODB.Connection') Set obj1 = CreateObject('ADODB.RecordSet ') Set obj2 = CreateObject('Scripting.FileSystemObject') Set obj3 = obj2.OpenTextFile('C:UsersRiya.xlsx') obj.Provider =('Microsoft.ACE.OLEDB.12.0') obj.Open 'C:Users
ewdb.autodb' obj1.Open 'Select name, age from person', obj obj3.WriteLine 'Name Age' obj3.WriteLine '------' If obj1.EOF = True Then Msgbox “No records found on the table!!” End If While obj1.EOF = False obj3.WriteLine obj1.Fields('Name') & “ “ & obj1.Fields('Age') obj1.MoveNext Wend obj3.Close Set obj3 = Nothing Set obj2 = Nothing obj1.Close obj.Close Set obj1 = Nothing Set obj = Nothing End Function Call Exporttoexcelfile() ‘Calling Function for exporting data to excel file Call Exporttotextfile() ‘Calling Function for exporting data to text file
Hinweis: Für die Ausgabe eines Beispiel können Sie den Speicherort der Dateien überprüfen, ob Daten in die entsprechenden Dateien exportiert wurden oder nicht.
Fazit
Ich bin sicher, dass Sie inzwischen Kenntnisse über die Bedeutung und Wirksamkeit der Verwendung erworben haben müssen VBS ADODB-Verbindungsobjekte .
Nächstes Tutorial Nr. 13 : Ich werde in meinem nächsten Tutorial auf 'Dateisystemobjekte' eingehen.
Bleiben Sie auf dem Laufenden und teilen Sie Ihre Erfahrungen mit der Arbeit mit Verbindungsobjekten mit. Lassen Sie uns wissen, wenn Sie Fragen zu diesem Lernprogramm haben.
Literatur-Empfehlungen
- Arbeiten mit VBScript Excel-Objekten
- VBScript-Dateiobjekte: CopyFile, DeleteFile, OpenTextFile, Read and Write Text File
- QTP-Tutorial Nr. 7 - QTP-Paradigma zur Objektidentifizierung - Wie identifiziert QTP Objekte eindeutig?
- Objekt-Repository in QTP - Tutorial Nr. 22
- VBScript-Fehlerbehandlung: VBScript bei Fehler, bei Fehler Gehe zu 0, bei Fehler Fortsetzen Weiter
- Bedingte VBScript-Anweisungen: VBScript If, ElseIf, Select Case
- VBScript-Tutorials: Lernen Sie VBScript von Grund auf neu (15+ ausführliche Tutorials)
- Klassen und Objekte in C ++