working with vbscript adodb connection objects
Introducere în obiecte de conexiune VBScript: Tutorial # 12
În precedentul meu Tutorial VBS , am discutat despre „ Obiecte Excel 'În VBScript. În acest tutorial, voi explica despre Obiecte de conexiune care sunt folosite în VBScript.
VBScript acceptă diferite tipuri de obiecte, iar obiectele de conexiune sunt printre acestea. Obiectele de conexiune sunt denumite în principal obiecte care oferă suport codificatorilor pentru a lucra și a face față conexiunilor la baza de date.
Acest tutorial vă va prezenta prin toate aspectele obiectelor de conexiune din VBScript, inclusiv diferitele sale proprietăți și metode, împreună cu exemple simple pentru înțelegerea dvs. ușoară.
Ce veți învăța:
- Prezentare generală
- Proprietăți și metode ale obiectelor de conexiune
- Stabilirea unei conexiuni la baza de date utilizând obiectul de conexiune ADODB
- Exportarea datelor în fișier Excel utilizând obiectul de conexiune ADODB
- Exportarea datelor în fișier text folosind obiectul de conexiune ADODB
- Concluzie
- Lectură recomandată
Prezentare generală
Orice baze de date precum SQL Server, PL / SQL etc. trebuie să fie instalat pe computerul dvs. pentru a lucra cu conexiunile la baze de date.
Ca atare, nu există niciun mecanism direct pentru a vă conecta la baza de date în QTP. Dar cu ajutorul Obiecte ADODB , puteți interacționa cu baza de date și puteți lucra cu interogările SQL pentru a prelua datele din baza de date.
ZGOMOT înseamnă Obiecte de date ActiveX iar acesta oferă mecanismul de a acționa ca intermediar între QTP și baza de date.
Acest subiect a stat la baza colaborării cu baza de date și ar fi foarte util pentru tine pe termen lung dacă ai o mai bună înțelegere a acestuia.
Voi încerca să vă fac să înțelegeți toate diferitele coduri, proprietăți și metode care trebuie scrise pentru a lucra cu baza de date într-un mod ușor, astfel încât să puteți scrie cu ușurință o bucată de cod pe cont propriu.
Acum, să începem cu proprietățile și metodele care sunt utile în stabilirea unei conexiuni cu baza de date.
Proprietăți și metode ale obiectelor de conexiune
Există diferite proprietăți și metode care acceptă extragerea datelor din baza de date.
care este procesul de identificare și eliminare a erorilor de pe hardware-ul sau software-ul computerului?
Lista proprietăților obiectului de conexiune ADODB este următoarea:
# 1) Șir de conexiune :
Aceasta este o proprietate foarte utilă, care este utilizată pentru crearea unei conexiuni la baza de date și include detalii despre conexiune, cum ar fi detaliile fișierului Driver, numele serverului de baze de date, numele de utilizator și parola .
# 2) Expirarea conexiunii :
Aceasta este utilizată pentru definirea timpului necesar pentru aşteptare pentru ca o conexiune să se stabilească.
# 3) Furnizor :
Această proprietate oferă toate detaliile legate de furnizor, adică numele Furnizor de conexiune .
# 4) Stat :
Aceasta oferă informații despre starea conexiunii, adică dacă conexiunea este PORNIT sau OPRIT .
Cele menționate mai sus sunt proprietățile unui obiect de conexiune. Cu toate acestea, există un Obiect RecordSet de asemenea (vom discuta peste un timp).
Lista proprietăților sale este următoarea:
# 1) BOF:
Această proprietate este utilizată pentru a cunoaște poziția înregistrării curente. Dacă poziția înregistrării curente este prezentă înainte de prima înregistrare din setul de înregistrări, atunci această proprietate va reveni adevărată.
# 2) EOF:
Intrebari si raspunsuri de interviu inginer devops
Acesta este doar inversul celui de mai sus. Dacă poziția înregistrării curente este prezentă după ultima înregistrare din setul de înregistrări, atunci această proprietate va reveni adevărată.
Notă: Valorile EOF și BOF vor fi false atunci când nu există înregistrări în setul de înregistrări. Acest lucru este util în cazul validării înregistrărilor goale, adică atunci când nu există înregistrări în setul de înregistrări.
# 3) Număr maxim:
Acest lucru este util în setarea maxim valorile rândurilor / înregistrărilor care pot fi returnate din baza de date, adică dacă doriți să preluați maximum 20 de rânduri la un moment dat din date, puteți seta această proprietate ca 20.
Să aruncăm o privire acum la Metode:
Lista metodelor ADODB Connection Object și RecordSet Object sunt după cum urmează:
- Deschis: Această metodă este utilizată pentru a deschide un obiect de conexiune la bază de date / obiect set de înregistrări.
- A executa: Aceasta este utilizată pentru a executa o interogare SQL furnizată.
- Închide: Acesta este folosit pentru a închide o conexiune / set de înregistrări la bază de date care este deschis.
- Anulare: Aceasta este o metodă de set de înregistrări care este utilizată pentru anularea execuției existente a conexiunii la bază de date.
- clona: Aceasta este o metodă de set de înregistrări și este utilizată pentru obținerea clonei obiectului de set de înregistrări existent.
- mutare: Aceasta este o metodă de set de înregistrări care este utilizată pentru a muta indicatorul într-o locație specificată într-un set de înregistrări pe baza numărului menționat.
- numara: Aceasta este o metodă de set de înregistrări și este utilizată pentru a obține numărul total de câmpuri prezente în setul de înregistrări, adică numărul total de coloane dintr-un tabel.
- articolul (i): Aceasta este o metodă de set de înregistrări. Aceasta este utilizată pentru a obține elementul al cărui index este specificat de numărul total de câmpuri prezente într-un set de înregistrări.
Acestea sunt diferitele proprietăți și metode pe care le veți utiliza în timp ce tratați obiectele conexe.
Să trecem la implementarea practică pentru a cunoaște funcționarea acestor obiecte.
Stabilirea unei conexiuni la baza de date utilizând obiectul de conexiune ADODB
În această secțiune, vom vedea diferiții pași implicați în crearea unei conexiuni la baza de date folosind mecanismul Connection Object din VBScript.
Următorul este Codul pentru crearea unei conexiuni:
Setați obj = createobject („ADODB.Connection”) ‘ Crearea unui obiect de conexiune ADODB
Setați obj1 = createobject („ADODB.RecordSet”) ‘ Crearea unui obiect set de înregistrări ADODB
Dim dbquery „Declararea unei variabile de interogare a bazei de date bquery
Dbquery = ”Selectați acctno din dbo.acct unde name =‘ Harsh ’” ‘Crearea unei interogări
obj.Deschideți „Furnizor = SQLQLEDB; Server =. SQLEXPRESS; UserId = test; Parolă = P @ 123; Baza de date = AUTODB” ‘Deschiderea unei conexiuni
obj1.Open dbquery, obj ‘Executarea interogării folosind setul de înregistrări
val1 = obj1.fields.item (0) ‘Va returna valoarea câmpului
msgbox val1 „Se afișează valoarea câmpului 0, adică coloana 1
obj.închide ‘Închiderea obiectului conexiunii
obj1.close ‘Închiderea obiectului conexiunii
Set obj1 = Nothing ‘ Eliberarea obiectului Recordset
Set obj = Nothing ‘ Eliberarea obiectului Conexiune
Să vedem cum funcționează:
- În primul rând, a Conexiune Obiect cu numele „obj” este creat folosind cuvântul cheie „createobject” și ADODB Connection în parametru pe măsură ce creați un obiect de conexiune la bază de date este definit.
- Apoi o Obiect set de înregistrări este creat pentru a accesa înregistrările unui anumit tabel din baza de date folosind „obj1”. Recordset Object oferă o modalitate de a accesa înregistrările din baza de date.
- După aceea, o variabilă este declarată pentru un interogare „Dbquery” pentru a stoca interogarea pentru a prelua înregistrările din baza de date.
- Apoi un obiect de conexiune creat mai sus este deschis pentru a începe să lucrați cu obiectul oferind toate detaliile despre furnizor precum SQL SERVER, numele serverului, numele bazei de date, ID-ul utilizatorului și parola.
- O interogare este atunci executat după deschiderea obiectului set de înregistrări menționând interogarea și obiectul de conexiune.
- Apoi, sarcina principală este efectuată pentru a prelua valoarea acct nr. unei anumite persoane conform interogării folosind câmpuri din setul de înregistrări care menționează indexul articolului unde a fost înregistrat nr. este localizat ca articolul (0) în acest caz. Valoarea unui câmp este apoi afișată cu ajutorul unei casete de mesaj.
Notă: Câmpurile reprezintă „coloane”, iar setul de înregistrări reprezintă „rânduri” ale unui tabel de baze de date.
- Obiectele sunt atunci închis pe măsură ce sarcina a fost finalizată.
- În cele din urmă, ambele obiecte - obj și respectiv obj1 sunt eliberată utilizând cuvântul cheie „Nimic”.
Notă : Este o practică bună să eliberați obiectele folosind „Setare nume obiect = Nimic” după finalizarea sarcinii la final.
Am văzut totul despre stabilirea unei conexiuni cu baza de date și citirea și afișarea datelor folosind o combinație a bazei de date și QTP.
Să vedem alte câteva scenarii folosind Connection Object.
Exportarea datelor în fișier Excel utilizând obiectul de conexiune ADODB
În această secțiune, vom vedea diferiții pași implicați în exportul datelor într-un fișier Excel din baza de date utilizând mecanismul Connection Object din VBScript.
Următorul este Codul pentru acest scenariu:
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
Să vedem cum funcționează:
- În primul rând, obiectele - Conexiune Object, RecordSet Object și Excel Object cu numele „obj,„ obj1 ”și respectiv„ obj2 ”sunt create folosind cuvântul cheie„ createobject ”.
- Apoi, un obiect de registru de lucru - ‘Obj3’ este creat menționând locația fișierului excel și după aceea fisa de lucru obiect („obj4”) este creat pentru a specifica foaia din fișierul Excel în care datele trebuie exportate.
- Apoi un obiect de conexiune creat mai sus este deschis pentru a începe să lucrați cu obiectul și sunt menționate detaliile Furnizorului.
- O interogare este atunci executat după deschiderea obiectului set de înregistrări menționând interogarea și obiectul de conexiune.
- Apoi, sarcina principală este efectuată pentru a stoca valorile numelui și vârstei unei anumite persoane în fișierul Excel conform interogării folosind câmpuri a setului de înregistrări din celulele foii din baza de date. Bucla va continua până când EOF nu este fals (am discutat deja despre EOF).
- Cartea de lucru Excel este atunci salvat .
- Aplicația Excel va părăsi pe măsură ce sarcina a fost finalizată.
- Obiectele sunt atunci închis pe măsură ce sarcina a fost finalizată.
- În cele din urmă, toate obiectele sunt eliberată utilizând cuvântul cheie „Nimic”.
Exportarea datelor în fișier text folosind obiectul de conexiune ADODB
În această secțiune, vom vedea diferiții pași implicați în exportul de date într-un fișier text din baza de date utilizând mecanismul Connection Object din VBScript.
Următorul este Codul pentru acest scenariu:
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
Să vedem cum funcționează:
- În primul rând, obiectele - Conexiune Obiect, obiect RecordSet și obiect fișier cu numele „obj,„ obj1 ”și respectiv„ obj2 ”sunt create folosind cuvântul cheie„ createobject ”.
- Apoi, se deschide un obiect fișier menționând Locație a fișierului text în care datele trebuie exportate.
- Apoi un obiect de conexiune creat mai sus este deschis pentru a începe să lucrați cu obiectul și sunt menționate detaliile Furnizorului.
- O interogare este atunci executat după deschiderea obiectului set de înregistrări menționând interogarea și obiectul de conexiune.
- Apoi, numele și vârsta sunt scrise folosind scrisoare metoda unui obiect de sistem de fișiere.
- Apoi, sarcina principală este efectuată pentru a scrie valorile numelui și vârstei în fișierul text al unei anumite persoane folosind câmpuri a setului de înregistrări din celulele foii din baza de date. Bucla va continua până când EOF nu este fals (am discutat deja despre EOF).
- Un obiect Fișier este atunci închis și obiectele legate de fișier sunt eliberate.
- Obiectele sunt atunci închis pe măsură ce sarcina a fost finalizată.
- În cele din urmă, obiectul de conexiune și obiectul setului de înregistrări sunt eliberată utilizând un cuvânt cheie „Nimic”.
Acestea sunt câteva dintre scenariile principale care sunt importante pentru înțelegerea corectă a conceptului. Ele formează fundamentul pentru a lucra și a trata codurile pentru gestionarea diferitelor tipuri de scenarii în timp ce se ocupă de obiecte de conexiune în script.
Acum, să înțelegem implementarea acestor scenarii printr-un exemplu simplu.
Exemplu:
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
Notă: Pentru ieșirea unui Exemplu , puteți accesa locația fișierelor și puteți verifica dacă datele sunt exportate sau nu în fișierele respective.
Concluzie
Sunt sigur că până acum trebuie să fi dobândit cunoștințe despre importanța și eficacitatea utilizării Obiecte de conexiune VBS ADODB .
Următorul tutorial nr. 13 : Voi acoperi „Obiecte de sistem de fișiere” în următorul meu tutorial.
Rămâneți la curent și împărtășiți-vă experiența de lucru cu obiecte Connection și anunțați-ne dacă aveți întrebări despre acest tutorial.
Lectură recomandată
- Lucrul cu obiecte Excel VBScript
- Obiecte de fișiere VBScript: CopyFile, DeleteFile, OpenTextFile, Read and Write Text File
- QTP Tutorial # 7 - Paradigma de identificare a obiectelor QTP - Cum identifică QTP obiectele în mod unic?
- Depozit de obiecte în QTP - Tutorial nr. 22
- VBScript Error Handling: VBScript On Error, On Error GoTo 0, On Error Reîncepe
- Declarații condiționale VBScript: VBScript If, ElseIf, Select Case
- Tutoriale VBScript: Aflați VBScript de la zero (15+ Tutoriale aprofundate)
- Clase și obiecte în C ++