qtp 数据库查询结果如何传给参数
写了一段脚本,将其中一个对象参数化,'链接数据库
'建立空的记录集
Set rs=createobject("adodb.recordset")
'设置SQL语句
sql="select select code from table1
打开记录集
rs.open sql,conn
-----这段不知道怎么写
Browser("Aent").Page("A").Frame("Frame_2").WebEdit("code").Set Parameter("rcode")
现在我想实现把这个查询结果中的code 赋值给参数rcode,也就是说,这个对象的参数值取自查询结果值
不知道该如何实现,请各位大侠帮帮忙
[ 本帖最后由 zxyyaml 于 2009-12-16 17:16 编辑 ] 我知道的有两种方法可以实现这个:
1).利用Datatable传递参数
2).利用Environment.value 传递
具体实践看看help文件吧,呵呵 这个是qtp最基本的操作之一:
步骤如下,
1)建立1个大database output
2)控件.set DataTable("database_output_text").Value
也可以用vbs写数据库查询,直接就是一个赋值,跟你的方法没有任何差别。
Dim sConnect
sConnect = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\Databases\xxxxx.mdb"
sSql = "select ...."
Set rs = CreateObject("ADODB.Recordset")
rs.Open "Contacts", sConnect, adOpenDynamic, adLockOptimistic, adCmdTable
sTemp = rs.Field("your Field")
rs.close
controlxxx.set sTemp
set rs = nothing 谢谢各位,问题已解决 Dim i
i=0
Set con=createobject("adodb.connection")
conset="DSN=sa;UID=system;PWD=password;DBQ=ORA10G ;DBA=W;APA=T;EXC=F;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=F;BAM=IfAllSuccessful;NUM=NLS;DPM=F;MTS=T;MDI=F;CSR=F;FWC=F;FBS=64000;TLO=0;"
con.Open conset
If con.State=0 Then
msgbox "Failed"
else
msgbox "Pass"
End If
Set rs=createobject("adodb.recordset")
sql="select ip_addrfrom sa_omp.主机"
rs.Open sql,con
rs.MoveNext
datatable.AddSheet("SQL RecordSet").AddParameter "IP_ADDR",""
Do until rs.eof
datatable.SetCurrentRow(i+1)
datatable.value("IP_ADDR","SQL RecordSet")=rs("ip_addr")
rs.MoveNext
i=i+1
Loop
con.close
Set con=nothing
rows=datatable.GetSheet("SQL RecordSet").GetRowCount
For i=1 to rows
a=datatable.value("IP_ADDR","SQL RecordSet")
' msgbox a
datatable.GetSheet("SQL RecordSet").SetNextRow
Next
以oracle为例子
地地道道地地道道
页:
[1]