working with vbscript adodb connection objects
Introduktion til VBScript-forbindelsesobjekter: Vejledning nr. 12
I min forrige VBS vejledning , vi diskuterede om ' Excel-objekter 'I VBScript. I denne vejledning vil jeg forklare Forbindelsesobjekter der bruges i VBScript.
VBScript understøtter forskellige typer objekter, og forbindelsesobjekter er blandt dem. Forbindelsesobjekter kaldes hovedsageligt de objekter, der understøtter koderne til at arbejde og håndtere databaseforbindelserne.
Denne vejledning fører dig gennem alle aspekterne af forbindelsesobjekter i VBScript inklusive dens forskellige egenskaber og metoder sammen med enkle eksempler til din nemme forståelse.
Hvad du vil lære:
- Oversigt
- Egenskaber og metoder til forbindelsesobjekter
- Oprettelse af en databaseforbindelse ved hjælp af ADODB-forbindelsesobjekt
- Eksport af data til Excel-fil ved hjælp af ADODB-forbindelsesobjekt
- Eksport af data til tekstfil ved hjælp af ADODB-forbindelsesobjekt
- Konklusion
- Anbefalet læsning
Oversigt
Alle databaser som SQL Server, PL / SQL osv. Skal være installeret på din computer for at arbejde med databaseforbindelserne.
Som sådan er der ikke nogen ligefrem mekanisme til at få forbindelse til databasen i QTP. Men ved hjælp af ADODB-objekter , kan du interagere med databasen og arbejde med SQL-forespørgsler for at hente dataene fra databasen.
ADO står for ActiveX-dataobjekter og dette tilvejebringer mekanismen til at fungere som et mellemled mellem QTP og databasen.
Dette emne dannede grundlaget for arbejdet med databasen, og det ville være meget nyttigt for dig i det lange løb, hvis du har en bedre forståelse af det.
Jeg vil prøve at få dig til at forstå alle de forskellige koder, egenskaber og metoder, der skal skrives for at arbejde med databasen på en nem måde, så du nemt kan skrive et stykke kode på egen hånd.
Lad os nu starte med de egenskaber og metoder, der er nyttige til oprettelse af en forbindelse til databasen.
Egenskaber og metoder til forbindelsesobjekter
Der er forskellige egenskaber og metoder, der understøtter for at udtrække data fra databasen.
bedste gratis pc tune up programmer
Listen over ADODB-forbindelsesobjektets egenskaber er som følger:
# 1) Forbindelsesstreng :
Dette er en meget nyttig egenskab, der bruges til at oprette en databaseforbindelse og inkluderer forbindelsesdetaljer som detaljerne i Driver, databaseservernavn, brugernavn og adgangskode .
# 2) Forbindelsestimeout :
Dette bruges til at definere den krævede tid til venter for en forbindelse for at blive etableret.
# 3) Udbyder :
Denne egenskab indeholder alle udbyderrelaterede oplysninger, dvs. navnet på Forbindelsesudbyder .
# 4) Tilstand :
Dette giver information om tilstanden for forbindelsen, dvs. hvis forbindelsen er TIL eller FRA .
De ovennævnte er egenskaberne for et forbindelsesobjekt. Der er dog en RecordSet-objekt også (vil vi diskutere et stykke tid).
Liste over dens egenskaber er som følger:
# 1) BOF:
Denne egenskab bruges til at kende placeringen af den aktuelle post. Hvis positionen for den aktuelle post er til stede før den første plade af pladesættet, så returnerer denne egenskab sandt.
# 2) EOF:
Dette er bare det modsatte af ovenstående. Hvis positionen for den aktuelle post er til stede efter den sidste post af pladesættet, så returnerer denne egenskab sandt.
Bemærk: Værdierne for EOF og BOF er falske, når der ikke er nogen poster i pladesættet. Dette er nyttigt i tilfælde af validering af tomme poster, dvs. når der ikke er nogen poster i recordsættet.
# 3) Maxantal:
Dette er nyttigt ved indstilling af maksimum værdier af rækker / poster, der kan returneres fra databasen, dvs. hvis du vil hente maksimalt 20 rækker ad gangen fra dataene, kan du indstille denne egenskab til 20.
Lad os nu se på Metoder:
Listen over ADODB-forbindelsesobjekt- og RecordSet-objektmetoder er som følger:
- Åben: Denne metode bruges til at åbne et objekt til en databaseforbindelse / et recordset.
- Udfør: Dette bruges til at udføre en SQL-forespørgsel, der leveres.
- Tæt: Dette bruges til at lukke en databaseforbindelse / recordset, der åbnes.
- Afbestille: Dette er en recordset-metode, der bruges til at annullere den eksisterende udførelse af databaseforbindelsen.
- klon: Dette er en recordset-metode og bruges til at hente klonen af det eksisterende recordset-objekt.
- bevæge sig: Dette er en recordset-metode, der bruges til at flytte markøren på et bestemt sted inde i et recordsæt på baggrund af det antal, der er nævnt.
- tælle: Dette er en recordset-metode og bruges til at få det samlede antal felter til stede i recordsettet, dvs. det samlede antal kolonner i en tabel.
- punkt (i): Dette er en recordset-metode. Dette bruges til at få det element, hvis indeks er specificeret af det samlede antal felter, der findes i et recordsæt.
Dette er de forskellige egenskaber og metoder, du vil bruge, når du beskæftiger dig med forbindelsesrelaterede objekter.
Lad os gå videre til den praktiske implementering for at kende funktionerne i disse objekter.
hvordan man opretter falsk firma-e-mail-id
Oprettelse af en databaseforbindelse ved hjælp af ADODB-forbindelsesobjekt
I dette afsnit vil vi se de forskellige trin involveret i oprettelse af en databaseforbindelse ved hjælp af Connection Object-mekanismen i VBScript.
Følgende er koden til oprettelse af en forbindelse:
Sæt obj = createobject (“ADODB.Connection”) ‘ Oprettelse af et ADODB-forbindelsesobjekt
Sæt obj1 = createobject (“ADODB.RecordSet”) ‘ Oprettelse af et ADODB Recordset-objekt
Dim dbquery 'Erklæring om en database forespørgsel variabel bquery
Dbquery = ”Vælg acctno fra dbo.acct hvor name =‘ Harsh ”” ‘Oprettelse af en forespørgsel
obj.Åbn “Udbyder = SQLQLEDB; Server =. SQLEXPRESS; UserId = test; Adgangskode = P @ 123; Database = AUTODB” ‘Åbning af en forbindelse
obj1. Åbn dbquery, obj ‘Udførelse af forespørgslen ved hjælp af rekordsæt
val1 = obj1.fields.item (0) ‘Returnerer feltværdi
msgbox val1 ‘Viser værdi af feltelementet 0, dvs. kolonne 1
obj. luk ‘Lukning af forbindelsesobjektet
obj1.close ‘Lukning af forbindelsesobjektet
Set obj1 = Intet ‘ Frigivelse af Recordset-objekt
Set obj = Intet ‘ Frigørelse af forbindelsesobjekt
Lad os se, hvordan det fungerer:
- For det første en Forbindelse Objekt med navnet 'obj' oprettes ved hjælp af 'createobject' nøgleordet og ADODB-forbindelse i parameteren, når du opretter et databaseforbindelsesobjekt defineres.
- Så a Recordset-objekt oprettes for at få adgang til posterne for en bestemt tabel fra databasen ved hjælp af 'obj1'. Recordset Object giver en måde at få adgang til records fra databasen.
- Derefter erklæres en variabel for a forespørgsel 'Dbquery' for at gemme forespørgslen for at hente poster fra databasen.
- Derefter er et forbindelsesobjekt, der er oprettet ovenfor åbnet at begynde at arbejde med objektet ved at give alle detaljer om udbyderen som SQL SERVER, servernavn, database navn, bruger-id og adgangskode.
- En forespørgsel er derefter henrettet efter åbning af recordset-objekt ved at nævne forespørgsel og forbindelsesobjektet.
- Derefter udføres hovedopgaven for at hente værdien af konto nr. af en bestemt person i henhold til forespørgslen ved hjælp af felter af pladesættet, der nævner indekset for varen, hvor accnr. er placeret som element (0) i dette tilfælde. Værdien af et felt vises derefter ved hjælp af en meddelelsesboks.
Bemærk: Felter repræsenterer 'kolonner' og recordsæt repræsenterer 'rækker' i en databasetabel.
- Objekterne er så lukket som opgaven er afsluttet.
- Endelig er begge objekter - henholdsvis obj og obj1 frigivet ved hjælp af nøgleordet 'Intet'.
Bemærk : Det er en god praksis at frigøre objekterne ved hjælp af 'Indstil objektnavn = Intet' efter afslutningen af opgaven.
Vi har set alt om oprettelse af en forbindelse til databasen og læsning og visning af data ved hjælp af en kombination af databasen og QTP.
Lad os se et par andre scenarier ved hjælp af Connection Object.
Eksport af data til Excel-fil ved hjælp af ADODB-forbindelsesobjekt
I dette afsnit vil vi se de forskellige trin involveret i eksport af data til en excel-fil fra databasen ved hjælp af Connection Object-mekanismen i VBScript.
Følgende er koden for dette scenarie:
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
Lad os se, hvordan det fungerer:
- For det første objekter - Forbindelse Objekt, RecordSet-objekt og Excel-objekt med navnet henholdsvis 'obj,' obj1 'og' obj2 'oprettes ved hjælp af' createobject 'nøgleord.
- Derefter et projektbogsobjekt - 'Obj3' oprettes med angivelse af placeringen af excel-filen og derefter regneark objekt ('obj4') oprettes for at specificere arket i excel-filen, hvor dataene skal eksporteres.
- Derefter er et forbindelsesobjekt, der er oprettet ovenfor åbnet for at begynde at arbejde med objektet, og leverandøroplysningerne nævnes.
- En forespørgsel er derefter henrettet efter åbning af recordset-objektet ved at nævne forespørgsel og forbindelsesobjekt.
- Dernæst udføres hovedopgaven for at gemme værdierne for navn og alder for en bestemt person i excel-filen i henhold til forespørgslen ved hjælp af felter af recordsættet i cellerne på arket fra databasen. Sløjfen fortsætter, indtil EOF ikke er falsk (vi har allerede diskuteret EOF).
- Excel-projektmappe er derefter gemt .
- Excel-applikationen vil Afslut som opgaven er afsluttet.
- Objekterne er så lukket som opgaven er afsluttet.
- Endelig er alle objekterne frigivet ved hjælp af nøgleordet 'Intet'.
Eksport af data til tekstfil ved hjælp af ADODB-forbindelsesobjekt
I dette afsnit vil vi se de forskellige trin involveret i eksport af data til en tekstfil fra databasen ved hjælp af Connection Object-mekanismen i VBScript.
Følgende er koden for dette scenarie:
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
Lad os se, hvordan det fungerer:
- For det første objekter - Forbindelse Object, RecordSet Object og File Object med navnet henholdsvis 'obj,' obj1 'og' obj2 'oprettes ved hjælp af' createobject 'nøgleord.
- Derefter åbnes et filobjekt, der nævner Beliggenhed af tekstfilen, hvor dataene skal eksporteres.
- Derefter er et forbindelsesobjekt, der er oprettet ovenfor åbnet for at begynde at arbejde med objektet, og leverandøroplysningerne nævnes.
- En forespørgsel er derefter henrettet efter åbning af recordset-objektet ved at nævne forespørgsel og forbindelsesobjekt.
- Derefter skrives navn og alder ved hjælp af skrivelinje metode til et filsystemobjekt.
- Derefter udføres hovedopgaven for at skrive værdierne for navn og alder i tekstfilen til en bestemt person ved hjælp af felter af recordsættet i cellerne på arket fra databasen. Sløjfen fortsætter, indtil EOF ikke er falsk (vi har allerede diskuteret EOF).
- Et filobjekt er derefter lukket og de filrelaterede objekter frigives.
- Objekterne er så lukket som opgaven er afsluttet.
- Endelig er forbindelsesobjektet og recordset-objektet frigivet ved hjælp af et 'Intet' nøgleord.
Dette er nogle af de primære scenarier, der er vigtige i den rette forståelse af konceptet. De danner grundlaget for at arbejde og håndtere koderne til håndtering af forskellige typer scenarier, mens de beskæftiger sig med forbindelsesobjekter i scriptet.
Lad os nu forstå implementeringen af disse scenarier gennem et simpelt eksempel.
Eksempel:
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
Bemærk: Til output af en Eksempel , kan du gå til placeringen af filerne og kontrollere, om data eksporteres eller ikke i de respektive filer.
Konklusion
Jeg er sikker på, at du nu skal have fået viden om vigtigheden og effektiviteten af brugen VBS ADODB-forbindelsesobjekter .
Næste tutorial # 13 : Jeg vil dække 'File System Objects' i min næste tutorial.
Hold dig opdateret, og del din oplevelse af at arbejde med Connection-objekter, og lad os vide, hvis du har spørgsmål om denne tutorial.
Anbefalet læsning
- Arbejde med VBScript Excel-objekter
- VBScript-filobjekter: CopyFile, DeleteFile, OpenTextFile, Læs og skriv tekstfil
- QTP Tutorial # 7 - QTP's objektidentifikationsparadigme - Hvordan QTP identificerer objekter entydigt?
- Objektlager i QTP - Tutorial # 22
- VBScript-fejlhåndtering: VBScript ved fejl, ved fejl Gå til 0, ved fejl Genoptag næste
- VBScript betingede udsagn: VBScript If, ElseIf, Vælg sag
- VBScript Tutorials: Lær VBScript fra Scratch (15+ dybdegående Tutorials)
- Klasser og objekter i C ++