QTP-数据库操作ADO

来源:互联网 发布:陕西知含监理公司 编辑:程序博客网 时间:2024/05/24 00:31

注意:更多信息可以查询ADOActiveX Object Object如何使用

ADOADO就是一个可以访问并操作数据源的一个COM组件

Connection对象:掌管数据库的连接和关闭功能,可以通过对应的连接字符串来连接数据库

Command对象:完成SQL语句的执行,包括查询语句、更新语句、创建语句、删除语句以及存储过程。

RecordSet对象:存放执行后的数据结果集。可以通过Eof方法循环进行输出

数据库操作步骤

1、  创建数据库连接对象

2、  获取数据库链接字符串

3、  使用数据库连接对象通过数据库连接字符串连接数据库

4、  定义SQL语句

5、  使用数据库连接对象执行SQL语句

6、  关闭数据库链接对象

创建数据库连接对象格式示例:【Set adoConn =CreateObject("adodb.Connection")】

获取数据库链接字符串的方式:

1、  Data Link获取

Data Link方式是基于Microsoft Access Service的数据源配置文件

(1)创建一个udl格式的文件,此处命名为“adoCon.udl”,接着双击此文件,出现右图示

(2)选择图中标注的使用连接字符串单选框,点击编译按钮

(3)弹出选择数据源窗口,需要选择连接数据库的文件数据源,如果没有建立过任何数据源,可以点击新建按钮

(4)选择相应的数据源后,点击下一步,填写数据源名称后就可以成功创建数据源文件

(5)在弹出选择数据源窗口中,选择需要连接数据库的文件数据

(6)在连接字符串处标注的文本框中可以看到所需要的字符串已经被自动填入

2、  巧用QTP获取

(1)  首先启动QTP,并打开DATATABLE视图,在DataTable中,任意在一个单元格中点击右键逐层进入到From DataBase

(2) 在窗口DataBase Query Wizard中选择Specify SQL statementmamal后,直接点击下一步,在弹出的对话框找到create按钮,并进行点击,

(3) 选择对应的数据源,如果没有就自行创建一个

(4) TPDataBase Query Wizard就会自动获取到相应的数据库连接字符串

使用数据库连接对象通过数据库连接字符串连接数据库

格式示例:adoConn.Open ConnectionStr

其中:

         adoConn是已经创建好的数据库连接对象

         ConnectionStr是数据库连接字符串

         获取外部数据库连接字符串

         ‘获取sql语句数组集合

          SQLCommands= GetSQLCommands("d:\sql.txt")

         ‘循环执行sql语句

         For i=0 To UBound(SQLCommands)

          adoConn.ExecuteSQLCommands(i)

         Next

注意:直接使用多行SQL语句执行是行不通的,QTP会报错,上面的是循环执行法,可以解决这个问题

执行SQL语句:adoConn.Execute(sqlStr)其中:sqlStr为已经定义好的SQL语句)

获取结果集中的某个字段

Set adoRst = adoConn.Execute(sqlStr)

adoRst.Fields.Item("name").Value

其中:name是需要获取的字段名,adoRst是一个结果集

注意:如果结果结果集中有多条记录,那么可以使用游标如【adoRst.MoveNext】将指针移动下一个记录

关闭数据库:adoConn.Close

游标【movenext】的使用

方法一:FOR循环法

获取结果集的个数,并进行遍历

For i=1 To adoRst.Fields.Count

  打印结果集中name的值

          MsgBox adoRst.Fields.Item("name").Value

  移动游标到下一条记录

          adoRst.MoveNext

Next

注意:adoRst.Fields.Count是获取记录集的个数

方法二:EOF循环法

如果游标不为最后一条记录就一直循环

While Not adoRst.EOF

        ‘打印结果集中name的值

        MsgBox adoRst.Fields.Item("name").Value

  移动游标到下一条记录

        adoRst.MoveNext

Wend

注意:脚本中的EOF代表最后一条记录的意思,缩写为End Of File

自定义动态数据库验证函数

'**************************************************************

'Description: 数据库验证函数

'Argument:  

'[Constr] 数据库连接字符串

'[sqlStr] sql语句

'[verifyProperty] 需要验证的字段名

'[expectValue] 验证预期值

'**************************************************************

Function

VerifySQLData(conStr,sqlStr,verifyProperty,expectValue)

        '创建数据库连接对象

        Set adoConn = CreateObject("adodb.Connection")

        '利用数据库连接字符串打开数据库

        adoConn.Open conStr

        '执行sql语句并返回对应的结果集

        Set adoRst = adoConn.Execute(sqlStr)

        '获得实际值

        actualValue = adoRst.Fields.Item(verifyProperty).Value

        '对比预期值与实际值

        If  cstr(expectValue) = cstr(actualValue) Then

            Reporter.ReportEvent micPass,"SQL_DATA_CHECK", _

            "[ expectValue = actualValue = " + cstr(actualValue)+" ]"

        Else

            Reporter.ReportEvent micFail,"SQL_DATA_CHECK", _

            "[ expectValue = " + cstr(expectValue) + _

            " ;actualValue = " + cstr(actualValue)+" ]"

        End If

        '关闭数据库

        adoConn.Close

        

        '释放数据库对象

        Set adoConn = Nothing

End Function

 

设置数据库链接字符串环境变量

在调用函数之前,必须要把一些关键参数进行环境变量的配置,以便以后有任何变更可直接在配置文件里进行修改,而不是去更改脚本中的数值

1、构建一个路径,建立一个XML文件,格式支持环境变量形式:"D:\QTPConfig\SQLConfiguration.xml",文件内容如下:

<Environment>

        <Variable>

          <Name>ConnStr</Name>

<Value>

Driver=;SERVER=;UID=..;PWD=;DATABASE=;PORT=

</Value>

        </Variable>

 

        <Variable>

          <Name>sqlStr</Name>

          <Value>select * from user where name = '51testing' </Value>

        </Variable>

</Environment>

2、  动态调用环境变量的XML文件:

动态载入环境变量

Environment.LoadFromFile "D:\QTP

Config\SQLConfiguration.xml"

3、  调用函数

***********调用验证数据库函数**********

验证字段:Age

验证预期:50

***************************************

VerifySQLData Environment.Value("ConnStr"), _

            Environment.Value("sqlStr"), "age" , 50

原创粉丝点击