working with vbscript adodb connection objects
Introducció als objectes de connexió de VBScript: tutorial # 12
En el meu anterior Tutorial VBS , vam discutir sobre ' Objectes d'Excel ’Al VBScript. En aquest tutorial, explicaré sobre Objectes de connexió que s'utilitzen al VBScript.
VBScript admet diferents tipus d'objectes i els objectes de connexió es troben entre ells. Els objectes de connexió s’anomenen principalment objectes que donen suport als codificadors per treballar i gestionar les connexions de base de dades.
Aquest tutorial us recorrerà a tots els aspectes dels objectes de connexió al VBScript, incloses les seves diferents propietats i mètodes, juntament amb exemples senzills per facilitar-ne la comprensió.
Què aprendreu:
- Visió general
- Propietats i mètodes dels objectes de connexió
- Establiment d’una connexió de base de dades mitjançant l’objecte de connexió ADODB
- Exportació de dades al fitxer Excel mitjançant l’objecte de connexió ADODB
- Exportació de dades a fitxers de text mitjançant l’objecte de connexió ADODB
- Conclusió
- Lectura recomanada
Visió general
Cal que ho siguin qualsevol base de dades com SQL Server, PL / SQL, etc. instal·lat al vostre ordinador per treballar amb les connexions de base de dades.
Com a tal, no hi ha cap mecanisme directe per connectar-se a la base de dades al QTP. Però amb l'ajut de Objectes ADODB , podeu interactuar amb la base de dades i treballar amb les consultes SQL per obtenir les dades de la base de dades.
ADO significa Objectes de dades ActiveX i això proporciona el mecanisme per actuar com a intermediari entre el QTP i la base de dades.
Aquest tema va constituir la base del treball amb la base de dades i, a la llarga, seria molt útil si en teniu una millor comprensió.
Intentaré fer-vos entendre tots els diferents codis, propietats i mètodes que cal escriure per treballar amb la base de dades d’una manera fàcil, de manera que pugueu escriure fàcilment un fragment de codi.
Comencem ara amb les propietats i els mètodes que són útils per establir una connexió amb la base de dades.
Propietats i mètodes dels objectes de connexió
Hi ha diferents propietats i mètodes que permeten extreure dades de la base de dades.
1 nf 2 nf 3 nf
La llista de propietats de l’objecte de connexió ADODB és la següent:
# 1) Cadena de connexió :
Aquesta és una propietat molt útil que s'utilitza per crear una connexió de base de dades i inclou detalls de connexió com els detalls del fitxer Controlador, nom del servidor de bases de dades, nom d’usuari i contrasenya .
# 2) Temps d'espera de connexió :
S'utilitza per definir el temps requerit per a esperant perquè s’estableixi una connexió.
# 3) Proveïdor :
Aquesta propietat proporciona totes les dades relacionades amb el proveïdor, és a dir, el nom de la Proveïdor de connexions .
# 4) Estat :
Proporciona informació sobre l’estat de la connexió, és a dir, si la connexió ho és ACTIVAT o DESACTIVAT .
Les esmentades són les propietats d’un objecte de connexió. No obstant això, hi ha un Objecte RecordSet també (parlarem d'aquí a una estona).
La llista de les seves propietats són les següents:
# 1) BOF:
Aquesta propietat s’utilitza per conèixer la posició del registre actual. Si la posició del registre actual és present abans del primer disc del conjunt de registres, aquesta propietat tornarà a ser certa.
# 2) EOF:
Això és només el revers de l'anterior. Si la posició del registre actual és present després de l’últim disc del conjunt de registres, aquesta propietat tornarà a ser certa.
Nota: Els valors d'EOF i BOF seran falsos quan no hi hagi registres al conjunt de registres. Això és útil en cas de validar registres buits, és a dir, quan no hi ha registres al conjunt de registres.
# 3) Nombre màxim:
Això és útil per configurar el fitxer màxim valors de files / registres que es poden retornar de la base de dades, és a dir, si voleu obtenir un màxim de 20 files a la vegada de les dades, podeu establir aquesta propietat com a 20.
Vegem ara els mètodes:
La llista dels mètodes d’objecte de connexió ADODB i RecordSet Object són els següents:
- Obert: Aquest mètode s'utilitza per obrir un objecte de connexió a una base de dades / objecte de registre.
- Executa: S'utilitza per executar una consulta SQL que es proporciona.
- Tanca: S'utilitza per tancar un conjunt de connexions / registres de base de dades que s'obre.
- Cancel · lar: Es tracta d'un mètode de conjunt de registres que s'utilitza per cancel·lar l'execució existent de la connexió a la base de dades.
- clonar: Es tracta d’un mètode de conjunt de registres i s’utilitza per obtenir el clon de l’objecte de conjunt de registres existent.
- moure: Es tracta d'un mètode de conjunt de registres que s'utilitza per moure el punter a una ubicació especificada dins d'un conjunt de registres sobre la base del recompte que s'esmenta.
- comptar: Es tracta d’un mètode de conjunt de registres i s’utilitza per obtenir el nombre total de camps presents al conjunt de registres, és a dir, el nombre total de columnes d’una taula.
- ítem (i): Aquest és un mètode de registre. S'utilitza per obtenir l'element l'índex del qual està especificat pel nombre total de camps presents en un conjunt de registres.
Aquestes són les diferents propietats i mètodes que faràs servir mentre tractes els objectes relacionats amb la connexió.
Passem a la implementació pràctica per conèixer el funcionament d’aquests objectes.
Establiment d’una connexió de base de dades mitjançant l’objecte de connexió ADODB
En aquesta secció, veurem els diferents passos que implica la creació d’una connexió de base de dades mitjançant el mecanisme de l’objecte de connexió a VBScript.
A continuació es mostra el codi per crear una connexió:
c programació de preguntes i respostes d’entrevistes pdf
Estableix obj = createobject ('ADODB.Connection') ' Creació d’un objecte de connexió ADODB
Estableix obj1 = createobject ('ADODB.RecordSet') ' Creació d’un objecte ADODB Recordset
Dim dbquery 'Declaració d'una variable de consulta de base de dades bquery
Dbquery = 'Seleccioneu acctno a dbo.acct on name = 'Harsh'' ‘Creació d’una consulta
obj.Open 'Proveïdor = SQLQLEDB; Servidor =. SQLEXPRESS; UserId = prova; Contrasenya = P @ 123; Base de dades = AUTODB' ‘Obrir una connexió
obj1.Open dbquery, obj ‘Executant la consulta mitjançant un conjunt de registres
val1 = obj1.fields.item (0) 'Tornarà el valor del camp
msgbox val1 'Visualització del valor de l'element de camp 0 és a dir, columna 1
obj.close ‘Tancar l’objecte de connexió
obj1.close ‘Tancar l’objecte de connexió
Defineix obj1 = Res ' Alliberament de l'objecte Recordset
Defineix obj = Res ' Alliberant l'objecte Connection
Vegem com funciona:
- En primer lloc, a Connexió Objecte amb el nom 'obj' es crea amb la paraula clau 'createobject' i es defineix la connexió ADODB al paràmetre mentre es crea un objecte de connexió a la base de dades.
- A continuació, a Objecte del conjunt de registres es crea per accedir als registres d’una taula concreta des de la base de dades mitjançant ‘obj1’. Recordset Object proporciona una manera d'accedir als registres des de la base de dades.
- Després, es declara una variable per a consulta 'Dbquery' per emmagatzemar la consulta per obtenir els registres de la base de dades.
- A continuació, hi ha un objecte de connexió que es crea més amunt obert per començar a treballar amb l'objecte proporcionant tots els detalls sobre el proveïdor com SQL SERVER, nom del servidor, nom de la base de dades, identificador d'usuari i contrasenya.
- Aleshores hi ha una consulta executat després d'obrir l'objecte del conjunt de registres esmentant la consulta i l'objecte de connexió.
- A continuació, es realitza la tasca principal per obtenir el valor de l’acct núm. d'una persona determinada segons la consulta que utilitza camps del conjunt de registres que menciona l’índex de l’ítem on l’acct núm. es troba com a element (0) en aquest cas. A continuació, es mostra el valor d'un camp amb l'ajut d'un quadre de missatges.
Nota: Els camps representen 'columnes' i el conjunt de registres representa 'files' d'una taula de base de dades.
- Els objectes són llavors tancat a mesura que s’ha completat la tasca.
- Finalment, els dos objectes - obj i obj1 respectivament són alliberat mitjançant la paraula clau 'Res'.
Nota : És una bona pràctica alliberar els objectes mitjançant 'Establir nom de l'objecte = Res' després de finalitzar la tasca.
Hem vist tot sobre l’establiment d’una connexió amb la base de dades i la lectura i visualització de dades mitjançant una combinació de la base de dades i QTP.
Vegem alguns altres escenaris amb Connection Object.
Exportació de dades al fitxer Excel mitjançant l’objecte de connexió ADODB
En aquesta secció, veurem els diferents passos que comporta l’exportació de les dades a un fitxer Excel des de la base de dades mitjançant el mecanisme Objecte de connexió a VBScript.
A continuació es mostra el codi d’aquest escenari:
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
Vegem com funciona:
- En primer lloc, els objectes - Connexió Objecte, objecte RecordSet i objecte Excel amb el nom 'obj,' obj1 'i' obj2 'respectivament es creen mitjançant la paraula clau' createobject '.
- A continuació, un objecte de llibre - Es crea ‘obj3’ esmentant la ubicació del fitxer excel i després full de treball object (‘obj4’) es crea per especificar el full del fitxer excel on cal exportar les dades.
- A continuació, hi ha un objecte de connexió que es crea més amunt obert per començar a treballar amb l'objecte i s'esmenten les dades del proveïdor.
- Aleshores hi ha una consulta executat després d'obrir l'objecte del conjunt de registres esmentant la consulta i l'objecte de connexió.
- A continuació, es realitza la tasca principal per emmagatzemar els valors del nom i l’edat d’una persona en concret al fitxer Excel segons la consulta que utilitza camps del conjunt de registres a les cel·les del full de la base de dades. El bucle continuarà fins que l'EOF no sigui fals (ja hem parlat d'EOF).
- El llibre de treball d'Excel és llavors desat .
- L’aplicació Excel ho farà deixar de fumar a mesura que s’ha completat la tasca.
- Els objectes són llavors tancat a mesura que s’ha completat la tasca.
- Finalment, tots els objectes ho són alliberat mitjançant la paraula clau 'Res'.
Exportació de dades a fitxers de text mitjançant l’objecte de connexió ADODB
En aquesta secció, veurem els diferents passos que comporta l’exportació de dades a un fitxer de text des de la base de dades mitjançant el mecanisme Objecte de connexió al VBScript.
A continuació es mostra el codi d’aquest escenari:
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
Vegem com funciona:
- En primer lloc, els objectes - Connexió Objecte, objecte RecordSet i objecte File amb el nom 'obj,' obj1 'i' obj2 'respectivament es creen mitjançant la paraula clau' createobject '.
- A continuació, s'obre un objecte de fitxer que menciona el fitxer ubicació del fitxer de text on cal exportar les dades.
- A continuació, hi ha un objecte de connexió que es crea més amunt obert per començar a treballar amb l'objecte i s'esmenten les dades del proveïdor.
- Aleshores hi ha una consulta executat després d'obrir l'objecte del conjunt de registres esmentant la consulta i l'objecte de connexió.
- A continuació, s’escriu el nom i l’edat mitjançant línia d’escrit mètode d'un objecte del sistema de fitxers.
- A continuació, es realitza la tasca principal per escriure els valors de nom i edat al fitxer de text d'una persona en particular mitjançant el fitxer camps del conjunt de registres a les cel·les del full de la base de dades. El bucle continuarà fins que l'EOF no sigui fals (ja hem parlat d'EOF).
- Un objecte File és llavors tancat i s’alliberen els objectes relacionats amb el fitxer.
- Els objectes són llavors tancat a mesura que s’ha completat la tasca.
- Finalment, l'objecte de connexió i l'objecte de registre són alliberat mitjançant una paraula clau 'Res'.
Aquests són alguns dels escenaris principals que són importants per a la comprensió adequada del concepte. Formen la base per treballar i tractar els codis per gestionar diferents tipus d’escenaris mentre es tracta d’objectes de connexió a l’script.
Ara, entenem la implementació d’aquests escenaris a través d’un exemple senzill.
Exemple:
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
Nota: Per a la sortida d'un fitxer Exemple , podeu anar a la ubicació dels fitxers i comprovar si les dades s’exporten o no als fitxers respectius.
Conclusió
Estic segur que ja haureu adquirit coneixements sobre la importància i l'eficàcia de l'ús Objectes de connexió VBS ADODB .
Pròxim tutorial núm. 13 : Tractaré 'Objectes del sistema de fitxers' al proper tutorial.
Estigueu atents i compartiu la vostra experiència de treball amb objectes de connexió i feu-nos saber si teniu cap pregunta sobre aquest tutorial.
Lectura recomanada
- Treballar amb objectes VBScript Excel
- Objectes de fitxer VBScript: CopyFile, DeleteFile, OpenTextFile, lectura i escriptura de fitxers de text
- QTP Tutorial # 7 - Paradigma d’identificació d’objectes de QTP: com QTP identifica objectes de manera única?
- Dipòsit d'objectes a QTP: tutorial núm. 22
- Gestió d'errors de VBScript: VBScript en cas d'error, en error GoTo 0, en error Reprèn el següent
- Declaracions condicionals de VBScript: VBScript If, ElseIf, Selecciona majúscules
- Tutorials de VBScript: apreneu VBScript de zero (més de 15 tutorials en profunditat)
- Classes i objectes en C ++