mizhe521 发表于 2010-1-25 11:55:58

请哪位帮忙看看代码哪里有误(等待,非常感谢)

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

风雪夜归人 发表于 2010-1-25 13:33:21

字面意思是你查询的列名不存在?你试着调试一下,看看是否如此

mizhe521 发表于 2010-1-25 14:24:14

我设置的sql语句,查询出来的结果和页面展示是一样的,不知道问题出在哪里?

feiyunkai 发表于 2010-1-25 14:31:12

strsql="select e.name as 供电所名称...
在select前面加上 use 库名 ,因为默认连接的是master库

[ 本帖最后由 feiyunkai 于 2010-1-25 14:37 编辑 ]

mizhe521 发表于 2010-1-25 14:34:22

接字符串中已经指明了database数据库名称,在select前还需要加这个吗?我试了一下不行啊

[ 本帖最后由 mizhe521 于 2010-1-25 14:38 编辑 ]

intothestorm 发表于 2010-1-25 15:23:41

code那叫一个乱啊:lol

Order By BYQBH"&j 这个什么意思?
看提示就是这里出的问题

yujie6832 发表于 2010-1-25 15:42:50

太乱了,呵呵,不想看~:lol

wugecat 发表于 2010-1-25 15:50:31

单步调试...找到错误的地方,把SQL语句提出来执行

june.diny 发表于 2010-1-25 16:04:23

将sql语句提出来单独执行下,试下呢,应该是字符串连接的问题
BYQBH----->是一个列名,BYQBH1、BYQBH2、BYQBH3都存在相应的列名吗

mizhe521 发表于 2010-1-25 16:13:45

BYQBH是原表的一个列明,但是我已经通过sql语句转换的和页面的列名称一样了
我也不知道为什么,在QTP中代码很整齐的啊,呵呵

mizhe521 发表于 2010-1-25 16:23:29

知道啦,Order By BYQBH"&j 后面的&j是多余的,谢谢大家啦
QTP中sql语句好像只能写在一行吧,我写多行不对,因为是多表联合查询,所以只能写成一行,看上去是挺乱的,呵呵

[ 本帖最后由 mizhe521 于 2010-1-25 16:28 编辑 ]

june.diny 发表于 2010-1-25 16:28:10

回复 10# 的帖子

1、检查这段SQL在数据库中能够执行成功吗?
2、改成order by BYQBH1、order by BYQBH2、order by BYQBH3,是否都可以?
3、多表查询,字段前是不是应该加上表名,如order by a.BYQBH????----->很久不写SQL了,不确定:)
页: [1]
查看完整版本: 请哪位帮忙看看代码哪里有误(等待,非常感谢)