51Testing软件测试论坛

标题: QTP连接数据库的问题 [打印本页]

作者: adsl2008    时间: 2009-6-3 14:41
标题: QTP连接数据库的问题
小弟这几天在学习QTP参数化,想从SQL数据库中读取数据,在网上找了些资料研究后就开始实践了
我录的脚本是一个系统的登录功能,我把用户名参数化了。可运行过程中发现每次用户名的值都是空的,请大家帮忙看看是哪出问题了
下面是脚本
Browser("aaa").Page("bbb").WebEdit("username").Set DataTable("username", dtGlobalSheet)
Browser("aaa").Page("bbb").WebEdit("pwd").SetSecure "4a24d15a57dcc5f8"
Browser("aaa").Page("bbb").Image("login").Click

Dim Cnn
Dim strCnn
Dim Rst
strCnn="rovider=SQLOLEDB.1ersist Security Info=False;User ID=sa;Initial Catalog=test;Data Source=A1"
Set Cnn=CreateObject("ADODB.Connection")
Cnn.Open strCnn
Set Rst=CreateObject("ADODB.Recordset")
Rst.Open "select  username  from name ",Cnn
Rst.MoveFirst

SQL数据库机器名称为A1,数据库test下面name表中有字段username
作者: adsl2008    时间: 2009-6-3 15:31
请大家多多帮忙啊  十分感谢!
作者: wangshuman    时间: 2009-6-3 16:09
你的用户名取的是datatable 中的数据,而你从数据库取出的select  username  from name 保存在Rst中,当然找不到了,要不就是你给的代码不全!
作者: fei.ge    时间: 2009-6-3 21:58
前几天我写的一个帖子
http://bbs.51testing.com/thread-150978-1-4.html
提取数据库里的数据写到外部的excel文件中。
作者: ziheng198688    时间: 2009-6-5 15:06
Browser("aaa").Page("bbb").WebEdit("username").Set DataTable("username", dtGlobalSheet)
楼主采取的参数化是将输入数据从QTP的Global Sheet取得的,但是并没有输入数据到Global Sheet中 所以会发现每次用户名的值都是空的

楼主可以试一下如下的脚本 在楼主的基础上稍作更改

Dim Cnn
Dim strCnn
Dim Rst
strCnn="rovider=SQLOLEDB.1ersist Security Info=False;User ID=sa;Initial Catalog=test;Data Source=A1"
Set Cnn=CreateObject("ADODB.Connection")
Cnn.Open strCnn
Set Rst=CreateObject("ADODB.Recordset")
Rst.Open "select  username  from name ",Cnn
Rst.MoveFirst

Browser("aaa").Page("bbb").WebEdit("username").Set Rst.Item(0).Value
Browser("aaa").Page("bbb").WebEdit("pwd").SetSecure "4a24d15a57dcc5f8"
Browser("aaa").Page("bbb").Image("login").Click




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2