51Testing软件测试论坛

标题: 请教各位前辈关于QTP中链接数据库时碰到的问题 [打印本页]

作者: SUPERWOMEN    时间: 2009-7-28 15:28
标题: 请教各位前辈关于QTP中链接数据库时碰到的问题
1.下面是我参照一些资料,想在订票系统中修改订票内容,修改内容分别为为数据库表中的两个字段(名字和票数),脚本是这样的:
Window("Flight Reservation").Activate
Window("Flight Reservation").WinRadioButton("Economy").Set
Dim Objconn
Dim Rst
Objku="d:\data.mdb"
Set Objconn=Createobject("adodb.connection")
Objconn.open ="provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Objku
Set Rst =CreateObject("ADODB.Recordset")
Rst.open "select *  from flight",Objconn,1,1
rst.movefirst
Const ForReading = 1, ForAppending = 8
Dim i,j
Dim fso
Dim  f
Dim  ts
Dim TextStreamTest
Set fso = CreateObject("Scripting.FileSystemObject")
fso.CreateTextFile "d:/NAME.txt"
Set f = fso.GetFile("d:/NAME.txt")
Do while Rst.EOF <> True
i=Rst.Fields("name")
j=Rst.Fields("tickets")
print i
print j
Set ts = f.OpenAsTextStream(ForAppending, TristateUseDefault)
rst.movenext
ts.Writeline i
ts.Writeline j
Window("Flight Reservation").WinEdit("Name:").SetSelection 0,10
Window("Flight Reservation").WinEdit("Name:").Set i
Window("Flight Reservation").WinEdit("Tickets:").Set j
Window("Flight Reservation").WinButton("Update Order").Click
Window("Flight Reservation").Activate
ts.Close
Loop
rst.close
Objconn.close
set rst=nothing
Set Objconn=Nothing
2.数据表flight的两个字段及内容为
      name  tickets
内容        aaa          2
                bbb          1                  
我想把数据库里表flight表中name,tickets读到脚本中,但是执行到Rst.open "select *  from flight",Objconn,1,1时报错如下:
至少一个参数没有被指定。
这段脚本的有些语句,我基本上是粘贴复用的,所以想请教%B
作者: SUPERWOMEN    时间: 2009-7-28 15:45
不知道为什么,只显示了部分。
(接上)想请教各位大侠几个问题:
(1)Objconn.open ="provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Objku为什么要这样写,我看很多人写的这块语句都不太一样,请问这个语句能从哪里能找到。
(2)Rst.open "select *  from flight",Objconn,1,1中
Objconn,1,1是什么意思。执行时为什么会报错。
(3)哪位大侠有相关这方面的资料,能否上传一些,很想知道rst.movefirst、i=Rst.Fields("name")、rst.movenext语句都是从哪里可以学习到的。
谢谢大侠们。
作者: intothestorm    时间: 2009-7-28 16:11
QuickTest Professional\CodeSamplesPlus\DatabaseFuncitonCollection.vbs
官方代码样例,可能对你有帮助。
你说的那些语句请查找VBS文档中ADODB的相关部分。
作者: SUPERWOMEN    时间: 2009-7-28 16:24
多谢楼上这位前辈,我在VBS语言参考中没有找到ADODB的相关部分。请问各位大侠谁有VBS文档中ADODB的相关部分的描述,麻烦可否给上传一份谢谢。
作者: 星之魂    时间: 2009-7-28 18:19
看看这个
作者: lvguobin    时间: 2009-7-29 12:18
i=Rst.Fields("name")
j=Rst.Fields("tickets")
这里出错了。
i=(Rst(0)),0,"name"
j=(Rst(0)),0,"tickets"
作者: SUPERWOMEN    时间: 2009-7-29 16:56
原帖由 星之魂 于 2009-7-28 18:19 发表
看看这个



谢谢前辈~~




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