working with vbscript adodb connection objects
Introduktion till VBScript Connection Objects: Tutorial # 12
I min tidigare VBS-handledning , vi diskuterade om Excel-objekt ”I VBScript. I denna handledning kommer jag att förklara om Anslutningsobjekt som används i VBScript.
VBScript stöder olika typer av objekt och anslutningsobjekt är bland dem. Anslutningsobjekt kallas huvudsakligen föremålen som stöder kodarna för att arbeta och hantera databasanslutningarna.
Denna handledning tar dig igenom alla aspekter av anslutningsobjekt i VBScript inklusive dess olika egenskaper och metoder tillsammans med enkla exempel för att göra det lättare för dig.
Vad du kommer att lära dig:
- Översikt
- Egenskaper och metoder för anslutningsobjekt
- Upprätta en databasanslutning med ADODB-anslutningsobjekt
- Exportera data till Excel-fil med ADODB-anslutningsobjekt
- Exportera data till textfil med ADODB-anslutningsobjekt
- Slutsats
- Rekommenderad läsning
Översikt
Alla databaser som SQL Server, PL / SQL, etc. måste vara installerad på din dator för att arbeta med databasanslutningarna.
Som sådan finns det ingen okomplicerad mekanism för att ansluta till databasen i QTP. Men med hjälp av ADODB-objekt kan du interagera med databasen och arbeta med SQL-frågorna för att hämta data från databasen.
VÄSEN står för ActiveX-dataobjekt och detta tillhandahåller mekanismen för att fungera som mellanhand mellan QTP och databasen.
Detta ämne låg till grund för arbetet med databasen och det skulle vara till stor hjälp för dig i det långa loppet om du förstår det bättre.
Jag kommer att försöka få dig att förstå alla de olika koder, egenskaper och metoder som krävs för att arbeta med databasen på ett enkelt sätt så att du enkelt kan skriva en kod på egen hand.
Låt oss börja med de egenskaper och metoder som är användbara för att skapa en anslutning till databasen.
Egenskaper och metoder för anslutningsobjekt
Det finns olika egenskaper och metoder som stöder för att extrahera data från databasen.
Jag behöver en falsk e-postadress
Listan över ADODB-anslutningsobjektets egenskaper är följande:
# 1) Anslutningssträng :
Detta är en mycket användbar egenskap som används för att skapa en databasanslutning och inkluderar anslutningsdetaljer som detaljerna i Drivrutin, databasservernamn, användarnamn och lösenord .
# 2) Timeout för anslutning :
Detta används för att definiera önskad tid för väntar för att en anslutning ska bli etablerad.
# 3) Leverantör :
Den här egenskapen innehåller alla leverantörsrelaterade detaljer, dvs. namnet på Anslutningsleverantör .
# 4) Stat :
Detta ger information om anslutningens tillstånd, dvs. om anslutningen är PÅ eller AV .
Ovan nämnda är egenskaperna hos ett anslutningsobjekt. Det finns dock en RecordSet-objekt också (kommer vi att diskutera ett tag).
Listan över dess egenskaper är som följer:
# 1) BOF:
Den här egenskapen används för att känna till positionen för den aktuella posten. Om positionen för den aktuella posten är närvarande före den första skivan av postuppsättningen, då återgår den här egenskapen till sann.
# 2) EOF:
Detta är bara motsatsen till ovanstående. Om positionen för den aktuella posten är närvarande efter den sista posten av postuppsättningen, då återgår den här egenskapen till sant.
Notera: Värdena för EOF och BOF är falska när det inte finns några poster i skivmängden. Detta är användbart om du validerar tomma poster, dvs när det inte finns några poster i skivuppsättningen.
# 3) Maxantal:
Detta är användbart för att ställa in maximal värden på rader / poster som kan returneras från databasen, dvs. om du vill hämta maximalt 20 rader åt gången från data kan du ställa in den här egenskapen till 20.
Låt oss nu titta på Metoder:
iOS-intervjufrågor och svar för erfaren pdf
Listan över ADODB-anslutningsobjekt och RecordSet-objektmetoder är följande:
- Öppen: Denna metod används för att öppna ett objekt för databasanslutning / postuppsättning.
- Kör: Detta används för att utföra en SQL-fråga som tillhandahålls.
- Stänga: Detta används för att stänga en databasanslutning / postuppsättning som öppnas.
- Avbryt: Detta är en postuppsättningsmetod som används för att avbryta befintlig körning av databasanslutningen.
- klona: Detta är en postuppsättningsmetod och används för att hämta klonen på det befintliga postuppsättningsobjektet.
- flytta: Detta är en registreringsuppsättningsmetod som används för att flytta pekaren på en viss plats inuti en postuppsättning på grundval av antalet som nämns.
- räkna: Detta är en postuppsättningsmetod och används för att få det totala antalet fält som finns i postuppsättningen, dvs. totalt antal kolumner i en tabell.
- artikel (i): Detta är en rekorduppsättningsmetod. Detta används för att få objektet vars index specificeras av det totala antalet fält som finns i en postuppsättning.
Det här är de olika egenskaperna och metoderna som du kommer att använda när du hanterar anslutningsrelaterade objekt.
Låt oss gå vidare till det praktiska genomförandet för att känna till hur dessa objekt fungerar.
Upprätta en databasanslutning med ADODB-anslutningsobjekt
I det här avsnittet ser vi de olika stegen som är involverade i att skapa en databasanslutning med hjälp av Connection Object-mekanismen i VBScript.
Följande är koden för att skapa en anslutning:
Ställ in obj = createobject (“ADODB.Connection”) ‘ Skapa ett ADODB-anslutningsobjekt
Ställ in obj1 = createobject (“ADODB.RecordSet”) ‘ Skapa ett ADODB Recordset-objekt
Dim dbquery ‘Förklara en databasfrågevariabel bquery
Dbquery = ”Välj acctno från dbo.acct där name =‘ Harsh ’” ”Skapa en fråga
obj.Open “Provider = SQLQLEDB; Server =. SQLEXPRESS; UserId = test; Password = P @ 123; Database = AUTODB” 'Öppna en anslutning
obj1.Öppna dbquery, obj ‘Utföra frågan med hjälp av rekorduppsättning
val1 = obj1.fields.item (0) ”Kommer tillbaka fältvärde
msgbox val1 ‘Visar värde för fältet 0 dvs kolumn 1
objekt. stäng ‘Stänga anslutningsobjektet
objekt1.stäng ‘Stänga anslutningsobjektet
Ställ in obj1 = Ingenting Släpper Recordset-objekt
Ställ in obj = ingenting Släpper anslutningsobjekt
Låt oss se hur det fungerar:
- För det första, a Förbindelse Objekt med namnet 'obj' skapas med hjälp av 'createobject' nyckelord och ADODB-anslutning i parametern när du skapar ett databasanslutningsobjekt definieras.
- Då en Recordset-objekt skapas för att komma åt posterna för en viss tabell från databasen med hjälp av 'obj1'. Recordset Object ger ett sätt att komma åt posterna från databasen.
- Därefter deklareras en variabel för a fråga 'Dbquery' för att lagra frågan för att hämta poster från databasen.
- Sedan är ett anslutningsobjekt som skapas ovan öppnad att börja arbeta med objektet genom att tillhandahålla alla detaljer om leverantören som SQL SERVER, servernamn, databasnamn, användar-ID och lösenord.
- En fråga är då avrättade efter att ha öppnat recordset-objektet genom att nämna frågan och anslutningsobjektet.
- Därefter utförs huvuduppgiften för att hämta värdet på konto nr. av en viss person enligt förfrågan som använder fält av skivuppsättningen som nämner indexet för artikeln där ack. nr. finns i detta fall som objekt (0). Värdet på ett fält visas sedan med hjälp av en meddelanderuta.
Notera: Fält representerar ”kolumner” och postuppsättning representerar ”rader” i en databastabell.
- Objekten är då stängd eftersom uppgiften har slutförts.
- Slutligen är båda objekten - obj respektive obj1 släppte genom att använda nyckelordet ”Ingenting”.
Notera : Det är en bra praxis att släppa föremålen med 'Ställ in objektnamn = ingenting' efter avslutad uppgift i slutet.
Vi har sett allt om att skapa en anslutning till databasen och läsa och visa data med en kombination av databasen och QTP.
Låt oss se några andra scenarier med anslutningsobjekt.
Exportera data till Excel-fil med ADODB-anslutningsobjekt
I det här avsnittet ser vi de olika stegen som är involverade i att exportera data till en excel-fil från databasen med hjälp av Connection Object-mekanismen i VBScript.
Följande är koden för detta scenario:
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
Låt oss se hur det fungerar:
- För det första föremål - Förbindelse Objekt, RecordSet-objekt och Excel-objekt med namnet 'obj,' obj1 'respektive' obj2 'skapas med hjälp av' createobject 'nyckelord.
- Sedan, ett arbetsbokobjekt - 'Obj3' skapas och nämner platsen för excel-filen och därefter kalkylblad objekt ('obj4') skapas för att specificera arket i excel-filen där data måste exporteras.
- Sedan är ett anslutningsobjekt som skapas ovan öppnad för att börja arbeta med objektet och leverantörsuppgifterna nämns.
- En fråga är då avrättade efter att ha öppnat inspelningsobjektet genom att nämna fråga och anslutningsobjekt.
- Därefter utförs huvuduppgiften för att lagra värdena för namn och ålder för en viss person i excel-filen enligt frågan med fält av postuppsättningen i cellerna på arket från databasen. Slingan fortsätter tills EOF inte är falsk (vi har redan diskuterat EOF).
- Excel-arbetsbok är då sparad .
- Excel-applikationen kommer sluta med eftersom uppgiften har slutförts.
- Objekten är då stängd eftersom uppgiften har slutförts.
- Slutligen är alla föremål släppte genom att använda nyckelordet ”Ingenting”.
Exportera data till textfil med ADODB-anslutningsobjekt
I det här avsnittet ser vi de olika stegen som är involverade i att exportera data till en textfil från databasen med hjälp av Connection Object-mekanismen i VBScript.
Följande är koden för detta scenario:
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
Låt oss se hur det fungerar:
- För det första föremål - Förbindelse Object, RecordSet Object och File Object med namnet 'obj,' obj1 'respektive' obj2 'skapas med hjälp av' createobject 'nyckelord.
- Sedan öppnas ett filobjekt som nämner plats av den textfil där uppgifterna behöver exporteras.
- Sedan är ett anslutningsobjekt som skapas ovan öppnad för att börja arbeta med objektet och leverantörsuppgifterna nämns.
- En fråga är då avrättade efter att ha öppnat inspelningsobjektet genom att nämna fråga och anslutningsobjekt.
- Sedan skrivs namn och ålder med skrivlinje metod för ett filsystemobjekt.
- Därefter utförs huvuduppgiften för att skriva värdena för namn och ålder i textfilen för en viss person med hjälp av fält av postuppsättningen i cellerna på arket från databasen. Slingan fortsätter tills EOF inte är falsk (vi har redan diskuterat EOF).
- Ett filobjekt är då stängd och de filrelaterade objekten släpps.
- Objekten är då stängd eftersom uppgiften har slutförts.
- Slutligen är anslutningsobjektet och inspelningsobjektet släppte genom att använda sökordet ”Ingenting”.
Det här är några av de främsta scenarierna som är viktiga för att förstå konceptet korrekt. De utgör grunden för att arbeta och hantera koder för hantering av olika typer av scenarier samtidigt som man hanterar anslutningsobjekt i skriptet.
Låt oss nu förstå implementeringen av dessa scenarier genom ett enkelt exempel.
Exempel:
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
Notera: För produktion av en Exempel , kan du gå till filernas plats och kontrollera om data exporteras eller inte i respektive filer.
Slutsats
Jag är säker på att du nu måste ha fått kunskap om hur viktigt det är att använda det VBS ADODB-anslutningsobjekt .
Nästa handledning # 13 : Jag kommer att täcka 'File System Objects' i min nästa handledning.
Håll dig uppdaterad och dela din erfarenhet av att arbeta med Connection-objekt och låt oss veta om du har några frågor om den här handledningen.
Rekommenderad läsning
- Arbeta med VBScript Excel-objekt
- VBScript-filobjekt: CopyFile, DeleteFile, OpenTextFile, Läs och skriv textfil
- QTP-handledning # 7 - QTP: s objektidentifieringsparadigm - Hur QTP identifierar objekt unikt?
- Objektförvar i QTP - Handledning nr 22
- VBScript Error Handling: VBScript On Error, On Error GoTo 0, On Error Resume Next
- VBScript villkorliga uttalanden: VBScript If, ElseIf, Select Case
- VBScript Tutorials: Lär dig VBScript från Scratch (15+ djupgående självstudier)
- Klasser och objekt i C ++