adsl2008 发表于 2009-6-3 14:41:10

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="Provider=SQLOLEDB.1;Persist 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 "selectusernamefrom name ",Cnn
Rst.MoveFirst

SQL数据库机器名称为A1,数据库test下面name表中有字段username

adsl2008 发表于 2009-6-3 15:31:33

请大家多多帮忙啊十分感谢!:)

wangshuman 发表于 2009-6-3 16:09:34

你的用户名取的是datatable 中的数据,而你从数据库取出的selectusernamefrom name 保存在Rst中,当然找不到了,要不就是你给的代码不全!

fei.ge 发表于 2009-6-3 21:58:15

前几天我写的一个帖子
http://bbs.51testing.com/thread-150978-1-4.html
提取数据库里的数据写到外部的excel文件中。

ziheng198688 发表于 2009-6-5 15:06:03

Browser("aaa").Page("bbb").WebEdit("username").Set DataTable("username", dtGlobalSheet)
楼主采取的参数化是将输入数据从QTP的Global Sheet取得的,但是并没有输入数据到Global Sheet中 所以会发现每次用户名的值都是空的

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

Dim Cnn
Dim strCnn
Dim Rst
strCnn=";Provider=SQLOLEDB.1;Persist 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 "selectusernamefrom 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
页: [1]
查看完整版本: QTP连接数据库的问题