请哪位帮忙看看代码哪里有误(等待,非常感谢)
Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统-登陆系统").WebEdit("ctl04$UserName").Set "amd5"Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统-登陆系统").WebEdit("ctl04$Password").SetSecure "4b595693a5729ae9"
Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统-登陆系统").Image("ctl04$ImageButton1").Click 25,13
Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("FunctionTree").Link("决策支持管理").Click
Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("FunctionTree").Link("配变电压合格率查询").Click
Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("PlugInRunService").Image("ctl05$btnQuery").Click 36,11
'连接数据库
Dim conn,res
Set conn=CreateObject("ADODB.Connection")
conn.ConnectionString="DSN=sql2005;UID=sa;PWD=sa;APP=QuickTest Professional;WSID=MICUI;DATABASE=amd5New"
Set res=CreateObject("ADODB.RecordSet")
j=1
Do
'是否存在下一页
isNextPageFlag =Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("PlugInRunService").Link("下一页").GetROProperty("visible")
'table总行数
RowCount =Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("PlugInRunService").WebTable("供电所名称").GetROProperty("rows")
isCorrect = False
For i=0 to RowCount-1
'供电所名称
name1=Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("PlugInRunService").WebTable("供电所名称").GetCellData(i,1)
'变压器名称
name2=Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("PlugInRunService").WebTable("供电所名称").GetCellData(i,2)
'A相电压合格率
name3=Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("PlugInRunService").WebTable("供电所名称").GetCellData(i,3)
'B相电压合格率
name4=Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("PlugInRunService").WebTable("供电所名称").GetCellData(i,4)
'C相电压合格率
name5=Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("PlugInRunService").WebTable("供电所名称").GetCellData(i,5)
Set res=CreateObject("ADODB.RecordSet")
strsql="select e.name as 供电所名称 ,b.Adaptername as 变压器名称 ,CONVERT(VARCHAR,cast(1-CONVERT(FLOAT,AXDYCSXSJ+AXDYCXXSJ)/CONVERT(FLOAT,AXHGSJ) AS decimal(18,4) ) *100) as A相合格率,CONVERT(VARCHAR,cast(1-CONVERT(FLOAT,BXDYCSXSJ+BXDYCXXSJ)/CONVERT(FLOAT,BXHGSJ) AS decimal(18,4) ) *100) as B相合格率,CONVERT(VARCHAR,cast(1-CONVERT(FLOAT,CXDYCSXSJ+CXDYCXXSJ)/CONVERT(FLOAT,CXHGSJ) AS decimal(18,4) ) *100) as C相合格率 from pbjcdyhgsjb a inner join AdapterBaseInfo b on a.BYQBH=b.AdapterID inner join AdapterAndTransformerAreaMaps c on a.BYQBH=c.AdapterID inner join t_a_TransformerArea d on c.TraAreaCode=d.TraAreaCode inner join dbo.EWF_Organise e on d.OrganiseId=e.id inner join FeederInfo o on o.feederid=b.feederid Order By BYQBH"&j
conn.Open ConnectionString
res.Open strsql,conn
DBname1 = Res("供电所名称") ' res.Fields(i).Value
DBname2 = Res("变压器名称")
DBname3 = Res("A相合格率")
DBname4 = Res("B相合格率")
DBname5 = Res("C相合格率")
If Trim(name1)=Trim(DBname1) Then
If Trim(name2)=Trim(DBname2) Then
If Trim(name3)=Trim(DBname3) Then
If Trim(name4)=Trim(DBname4) Then
If Trim(name5)=Trim(DBname5) Then
isCorrect =true
else
Reporter.ReportEvent micFail ,"查询结果比较","查询失败,原因为:第"&j&"条数据的'供电所名称'页面数据与数据库数据不一致,预期数据为:"&DBname5& "实际为"&name5
End If
else
Reporter.ReportEvent micFail ,"查询结果比较","查询失败,原因为:第"&j&"条数据的'供电所名称'页面数据与数据库数据不一致,预期数据为:"&DBname4& "实际为"&name4
Exit for
End If
else
Reporter.ReportEvent micFail ,"查询结果比较","查询失败,原因为:第"&j&"条数据的'供电所名称'页面数据与数据库数据不一致,预期数据为:"&DBname3& "实际为"&name3
Exit for
End If
else
Reporter.ReportEvent micFail ,"查询结果比较","查询失败,原因为:第"&j&"条数据的'供电所名称'页面数据与数据库数据不一致,预期数据为:"&DBname2& "实际为"&name2
Exit for
End If
else
Reporter.ReportEvent micFail ,"查询结果比较","查询失败,原因为:第"&j&"条数据的'供电所名称'页面数据与数据库数据不一致,预期数据为:"&DBname1& "实际为"&name1
Exit for
End If
j=j+1
Next
If isNextPageFlag=true Then
Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("PlugInRunService").Link("下一页").Click
End If
Loop Until isNextPageFlag = true
If isCorrect = True Then
MsgBox "查询正确"
else
MsgBox "查询失败"
End If
'关闭数据库连接
res.Close
conn.Close
Set res=nothing
Set conn=Nothing
Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("FrameTitle").Link("注销").Click 字面意思是你查询的列名不存在?你试着调试一下,看看是否如此 我设置的sql语句,查询出来的结果和页面展示是一样的,不知道问题出在哪里? strsql="select e.name as 供电所名称...
在select前面加上 use 库名 ,因为默认连接的是master库
[ 本帖最后由 feiyunkai 于 2010-1-25 14:37 编辑 ] 接字符串中已经指明了database数据库名称,在select前还需要加这个吗?我试了一下不行啊
[ 本帖最后由 mizhe521 于 2010-1-25 14:38 编辑 ] code那叫一个乱啊:lol
Order By BYQBH"&j 这个什么意思?
看提示就是这里出的问题 太乱了,呵呵,不想看~:lol 单步调试...找到错误的地方,把SQL语句提出来执行 将sql语句提出来单独执行下,试下呢,应该是字符串连接的问题
BYQBH----->是一个列名,BYQBH1、BYQBH2、BYQBH3都存在相应的列名吗 BYQBH是原表的一个列明,但是我已经通过sql语句转换的和页面的列名称一样了
我也不知道为什么,在QTP中代码很整齐的啊,呵呵 知道啦,Order By BYQBH"&j 后面的&j是多余的,谢谢大家啦
QTP中sql语句好像只能写在一行吧,我写多行不对,因为是多表联合查询,所以只能写成一行,看上去是挺乱的,呵呵
[ 本帖最后由 mizhe521 于 2010-1-25 16:28 编辑 ]
回复 10# 的帖子
1、检查这段SQL在数据库中能够执行成功吗?2、改成order by BYQBH1、order by BYQBH2、order by BYQBH3,是否都可以?
3、多表查询,字段前是不是应该加上表名,如order by a.BYQBH????----->很久不写SQL了,不确定:)
页:
[1]