working with vbscript adodb connection objects
Wprowadzenie do obiektów połączeń VBScript: samouczek nr 12
W moim poprzednim Samouczek VBS , omówiliśmy „ Obiekty programu Excel ”W VBScript. W tym samouczku omówię to Obiekty połączeń które są używane w VBScript.
VBScript obsługuje różne typy obiektów, a wśród nich są obiekty połączeń. Obiekty połączeń są głównie nazywane obiektami, które wspierają programistów w pracy i obsłudze połączeń z bazą danych.
Ten samouczek poprowadzi Cię przez wszystkie aspekty obiektów połączeń w języku VBScript, w tym jego różne właściwości i metody, a także proste przykłady ułatwiające zrozumienie.
Czego się nauczysz:
- Przegląd
- Właściwości i metody obiektów połączeń
- Ustanawianie połączenia z bazą danych przy użyciu obiektu połączenia ADODB
- Eksportowanie danych do pliku Excel przy użyciu obiektu połączenia ADODB
- Eksportowanie danych do pliku tekstowego przy użyciu obiektu połączenia ADODB
- Wniosek
- rekomendowane lektury
Przegląd
Wszelkie bazy danych, takie jak SQL Server, PL / SQL itp. Muszą być zainstalowany na komputerze do pracy z połączeniami z bazą danych.
W związku z tym nie ma żadnego prostego mechanizmu łączenia się z bazą danych w QTP. Ale z pomocą Obiekty ADODB , możesz współdziałać z bazą danych i pracować z zapytaniami SQL w celu pobrania danych z bazy danych.
KOROWODY oznacza Obiekty danych ActiveX a to zapewnia mechanizm działania jako pośrednik między QTP a bazą danych.
Ten temat stał się podstawą pracy z Bazą Danych i na dłuższą metę byłby dla Ciebie bardzo pomocny, gdybyś lepiej go zrozumiał.
Postaram się, abyś zrozumiał wszystkie różne kody, właściwości i metody, które są wymagane do napisania do pracy z bazą danych w łatwy sposób, abyś mógł łatwo samodzielnie napisać fragment kodu.
Teraz zacznijmy od właściwości i metod, które są pomocne w nawiązywaniu połączenia z bazą danych.
Właściwości i metody obiektów połączeń
Istnieją różne właściwości i metody, które obsługują wyodrębnianie danych z bazy danych.
Lista właściwości obiektu połączenia ADODB jest następująca:
# 1) Ciąg połączenia :
Jest to bardzo przydatna właściwość, która służy do tworzenia połączenia z bazą danych i zawiera szczegóły połączenia, takie jak szczegóły pliku Sterownik, nazwa serwera bazy danych, nazwa użytkownika i hasło .
# 2) Limit czasu połączenia :
Służy do określenia wymaganego czasu dla Czekanie aby połączenie zostało nawiązane.
# 3) Dostawca :
Ta właściwość zawiera wszystkie szczegóły związane z dostawcą, tj. Nazwę Dostawca połączenia .
# 4) Stan :
Dostarcza informacji o stanie połączenia, tj. Czy połączenie jest Włączone lub wyłączone .
Wyżej wymienione są właściwościami obiektu połączenia. Jednak jest RecordSet Object również (omówimy za chwilę).
Lista jego właściwości jest następująca:
# 1) BOF:
Ta właściwość służy do poznania pozycji bieżącego rekordu. Jeśli obecna jest pozycja bieżącego rekordu przed pierwszym rekordem zestawu rekordów, wtedy ta właściwość zwróci wartość true.
# 2) EOF:
To jest tylko odwrotność powyższego. Jeśli obecna jest pozycja bieżącego rekordu po ostatniej płycie zestawu rekordów, wtedy ta właściwość zwróci wartość true.
Uwaga: Wartości EOF i BOF będą fałszywe, jeśli w zestawie rekordów nie ma rekordów. Jest to przydatne w przypadku walidacji pustych rekordów, tj. Gdy nie ma rekordów w zestawie rekordów.
# 3) MaxCount:
Jest to przydatne podczas ustawiania maksymalny wartości wierszy / rekordów, które można zwrócić z bazy danych, tj. jeśli chcesz pobrać maksymalnie 20 wierszy naraz z danych, możesz ustawić tę właściwość na 20.
Przyjrzyjmy się teraz metodom:
Lista metod obiektu połączenia ADODB i obiektu zestawu rekordów jest następująca:
- Otwarty: Ta metoda służy do otwierania obiektu połączenia z bazą danych / obiektu zestawu rekordów.
- Wykonać: Służy do wykonywania dostarczonego zapytania SQL.
- Blisko: Służy do zamykania otwartego połączenia z bazą danych / zestawu rekordów.
- Anuluj: Jest to metoda zestawu rekordów, która służy do anulowania istniejącego wykonania połączenia z bazą danych.
- klon: Jest to metoda zestawu rekordów używana do uzyskania klonu istniejącego obiektu zestawu rekordów.
- ruszaj się: Jest to metoda zestawu rekordów, która służy do przesuwania wskaźnika w określone miejsce w zestawie rekordów na podstawie podanej liczby.
- liczyć: Jest to metoda zestawu rekordów, która służy do uzyskania całkowitej liczby pól znajdujących się w zestawie rekordów, tj. Całkowitej liczby kolumn w tabeli.
- pozycja (i): To jest metoda zestawu rekordów. Służy do pobrania elementu, którego indeks jest określony przez całkowitą liczbę pól obecnych w zestawie rekordów.
Są to różne właściwości i metody, których będziesz używać podczas obsługi obiektów związanych z połączeniem.
jak otworzyć plik swf
Przejdźmy do praktycznej implementacji, aby poznać działanie tych obiektów.
Ustanawianie połączenia z bazą danych przy użyciu obiektu połączenia ADODB
W tej sekcji zobaczymy różne kroki związane z tworzeniem połączenia z bazą danych przy użyciu mechanizmu Connection Object w języku VBScript.
Poniżej znajduje się kod tworzenia połączenia:
Set obj = createobject („ADODB.Connection”) ‘ Tworzenie obiektu połączenia ADODB
Ustaw obj1 = createobject („ADODB.RecordSet”) ‘ Tworzenie obiektu rekordów ADODB
Dim dbquery „Deklarowanie zmiennej zapytania bazy danych bquery
Dbquery = ”Wybierz konto z dbo.acct, gdzie name =„ Harsh ”” „Tworzenie zapytania
obj.Open “Provider = SQLQLEDB; Server =. SQLEXPRESS; UserId = test; Password = P @ 123; Database = AUTODB” „Otwieranie połączenia
obj1.Open dbquery, obj „Wykonywanie zapytania przy użyciu zestawu rekordów
val1 = obj1.fields.item (0) „Zwróci wartość pola
msgbox val1 „Wyświetlanie wartości pozycji pola 0, tj. Kolumny 1
obj.close „Zamykanie obiektu połączenia
obj1.close „Zamykanie obiektu połączenia
Ustaw obj1 = Nothing ' Zwalnianie obiektu Recordset
Ustaw obj = Nothing ' Zwalnianie obiektu Connection
Zobaczmy, jak to działa:
- Po pierwsze, plik Połączenie Obiekt o nazwie „obj” jest tworzony przy użyciu słowa kluczowego „createobject”, a połączenie ADODB w parametrze jest definiowane podczas tworzenia obiektu połączenia z bazą danych.
- Następnie Obiekt Recordset jest tworzony w celu uzyskania dostępu do rekordów określonej tabeli z bazy danych za pomocą „obj1”. Obiekt Recordset umożliwia dostęp do rekordów z bazy danych.
- Następnie deklarowana jest zmienna dla pliku pytanie „Dbquery” do przechowywania zapytania w celu pobrania rekordów z bazy danych.
- Następnie utworzony powyżej obiekt połączenia jest otwierany aby rozpocząć pracę z obiektem, podając wszystkie szczegóły dotyczące dostawcy, takie jak SQL SERVER, nazwa serwera, nazwa bazy danych, identyfikator użytkownika i hasło.
- Zapytanie jest wtedy wykonany po otwarciu obiektu zestawu rekordów, wspominając o zapytaniu i obiekcie połączenia.
- Następnie głównym zadaniem jest pobranie wartości rachunku nr. konkretnej osoby zgodnie z zapytaniem za pomocą pola zestawu rekordów, który wymienia indeks pozycji, gdzie nr konta. znajduje się w tym przypadku jak pozycja (0). Wartość pola jest następnie wyświetlana za pomocą okna komunikatu.
Uwaga: Pola reprezentują „kolumny”, a zestaw rekordów reprezentuje „wiersze” tabeli bazy danych.
- Obiekty są wtedy Zamknięte po zakończeniu zadania.
- Wreszcie oba obiekty - odpowiednio obj i obj1 są wydany używając słowa kluczowego „Nic”.
Uwaga : Dobrą praktyką jest zwalnianie obiektów za pomocą „Ustaw nazwę obiektu = Nothing” po wykonaniu zadania na końcu.
Widzieliśmy już wszystko o nawiązywaniu połączenia z bazą danych oraz odczytywaniu i wyświetlaniu danych przy użyciu kombinacji bazy danych i QTP.
Zobaczmy kilka innych scenariuszy wykorzystujących Connection Object.
Eksportowanie danych do pliku Excel przy użyciu obiektu połączenia ADODB
W tej sekcji zobaczymy różne kroki związane z eksportowaniem danych do pliku Excela z bazy danych przy użyciu mechanizmu Connection Object w języku VBScript.
Poniżej znajduje się kod dla tego scenariusza:
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
Zobaczmy, jak to działa:
- Po pierwsze, obiekty - Połączenie Obiekt, obiekt RecordSet i obiekt Excel o nazwie „obj1”, „obj1” i „obj2” są tworzone za pomocą słowa kluczowego „createobject”.
- Następnie obiekt skoroszytu - Tworzony jest „obj3” z podaniem lokalizacji pliku programu Excel, a następnie arkusz roboczy Obiekt („obj4”) jest tworzony w celu określenia arkusza w pliku programu Excel, do którego mają zostać wyeksportowane dane.
- Następnie utworzony powyżej obiekt połączenia jest otwierany aby rozpocząć pracę z obiektem i podane są szczegóły Dostawcy.
- Zapytanie jest wtedy wykonany po otwarciu obiektu zestawu rekordów, wspominając o obiekcie zapytania i połączenia.
- Następnie głównym zadaniem jest zapisanie wartości imienia i wieku danej osoby w pliku excel zgodnie z zapytaniem za pomocą pola zestawu rekordów w komórkach arkusza z bazy danych. Pętla będzie trwała, dopóki EOF nie będzie fałszywa (omówiliśmy już EOF).
- Skoroszyt programu Excel jest wtedy zapisane .
- Aplikacja Excel będzie porzucić po zakończeniu zadania.
- Obiekty są wtedy Zamknięte po zakończeniu zadania.
- Wreszcie wszystkie obiekty są wydany używając słowa kluczowego „Nic”.
Eksportowanie danych do pliku tekstowego przy użyciu obiektu połączenia ADODB
W tej sekcji zobaczymy różne kroki związane z eksportowaniem danych do pliku tekstowego z bazy danych przy użyciu mechanizmu Connection Object w języku VBScript.
Poniżej znajduje się kod dla tego scenariusza:
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
Zobaczmy, jak to działa:
- Po pierwsze, obiekty - Połączenie Obiekt, obiekt RecordSet i obiekt pliku o nazwie „obj1”, „obj1” i „obj2” są tworzone za pomocą słowa kluczowego „createobject”.
- Następnie otwierany jest obiekt pliku, zawierający wzmiankę o rozszerzeniu Lokalizacja pliku tekstowego, do którego dane mają zostać wyeksportowane.
- Następnie utworzony powyżej obiekt połączenia jest otwierany aby rozpocząć pracę z obiektem i podane są szczegóły Dostawcy.
- Zapytanie jest wtedy wykonany po otwarciu obiektu zestawu rekordów, wspominając o obiekcie zapytania i połączenia.
- Następnie imię i wiek są zapisywane przy użyciu writeline metoda obiektu systemu plików.
- Następnie głównym zadaniem jest zapisanie wartości imienia i wieku w pliku tekstowym konkretnej osoby przy użyciu pola zestawu rekordów w komórkach arkusza z bazy danych. Pętla będzie trwała, dopóki EOF nie będzie fałszywa (omówiliśmy już EOF).
- Obiekt File jest wtedy Zamknięte i zwalniane są obiekty związane z plikiem.
- Obiekty są wtedy Zamknięte po zakończeniu zadania.
- Wreszcie obiekt połączenia i obiekt zestawu rekordów to wydany używając słowa kluczowego „Nic”.
Oto niektóre z głównych scenariuszy, które są ważne dla właściwego zrozumienia pojęcia. Stanowią podstawę do pracy i zajmują się kodami do obsługi różnych typów scenariuszy podczas zajmowania się obiektami połączeń w skrypcie.
Przyjrzyjmy się teraz realizacji tych scenariuszy na prostym przykładzie.
Przykład:
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
Uwaga: Do wyjścia pliku Przykład , możesz przejść do lokalizacji plików i sprawdzić, czy dane są eksportowane, czy nie w odpowiednich plikach.
Wniosek
Jestem przekonany, że do tej pory musieliście już zdobyć wiedzę o znaczeniu i skuteczności stosowania Obiekty połączeń VBS ADODB .
Następny samouczek nr 13 : W następnym samouczku omówię „Obiekty systemu plików”.
Bądź na bieżąco i podziel się swoimi doświadczeniami z pracy z obiektami Connection i daj nam znać, jeśli masz jakiekolwiek pytania dotyczące tego samouczka.
rekomendowane lektury
- Praca z obiektami VBScript Excel
- Obiekty plików VBScript: CopyFile, DeleteFile, OpenTextFile, odczyt i zapis pliku tekstowego
- Samouczek QTP nr 7 - Paradygmat identyfikacji obiektów QTP - Jak QTP jednoznacznie identyfikuje obiekty?
- Repozytorium obiektów w QTP - samouczek nr 22
- Obsługa błędów VBScript: VBScript przy błędzie, przy błędzie GoTo 0, przy błędzie Wznów dalej
- Instrukcje warunkowe VBScript: VBScript If, ElseIf, Select Case
- Samouczki VBScript: Naucz się języka VBScript od podstaw (ponad 15 szczegółowych samouczków)
- Klasy i obiekty w C ++