51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2433|回复: 11
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 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("lugInRunService").Image("ctl05$btnQuery").Click 36,11
'连接数据库
Dim conn,res
Set conn=CreateObject("ADODB.Connection")
conn.ConnectionString="DSN=sql2005;UID=saWD=sa;APP=QuickTest Professional;WSID=MICUI;DATABASE=amd5New"
Set res=CreateObject("ADODB.RecordSet")
j=1
Do
'是否存在下一页
isNextPageFlag =Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("lugInRunService").Link("下一页").GetROProperty("visible")
'table总行数
RowCount =Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("lugInRunService").WebTable("供电所名称").GetROProperty("rows")
isCorrect = False
For i=0 to RowCount-1
        '供电所名称
        name1=Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("lugInRunService").WebTable("供电所名称").GetCellData(i,1)
        '变压器名称
        name2=Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("lugInRunService").WebTable("供电所名称").GetCellData(i,2)
        'A相电压合格率
        name3=Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("lugInRunService").WebTable("供电所名称").GetCellData(i,3)
        'B相电压合格率
        name4=Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("lugInRunService").WebTable("供电所名称").GetCellData(i,4)
        'C相电压合格率
        name5=Browser("供电所专业化管理信息系统-登陆系统").Page("供电所专业化管理信息系统").Frame("lugInRunService").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("lugInRunService").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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2010-1-25 13:33:21 | 只看该作者
字面意思是你查询的列名不存在?你试着调试一下,看看是否如此
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2010-1-25 14:24:14 | 只看该作者
我设置的sql语句,查询出来的结果和页面展示是一样的,不知道问题出在哪里?
回复 支持 反对

使用道具 举报

  • TA的每日心情
    奋斗
    2014-12-18 10:31
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]测试小兵

    4#
    发表于 2010-1-25 14:31:12 | 只看该作者
    strsql="select e.name as 供电所名称...
    在select前面加上 use 库名 ,因为默认连接的是master库

    [ 本帖最后由 feiyunkai 于 2010-1-25 14:37 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
     楼主| 发表于 2010-1-25 14:34:22 | 只看该作者
    接字符串中已经指明了database数据库名称,在select前还需要加这个吗?我试了一下不行啊

    [ 本帖最后由 mizhe521 于 2010-1-25 14:38 编辑 ]
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2010-1-25 15:23:41 | 只看该作者
    code那叫一个乱啊

    Order By BYQBH"&j 这个什么意思?
    看提示就是这里出的问题
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    7#
    发表于 2010-1-25 15:42:50 | 只看该作者
    太乱了,呵呵,不想看~
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    8#
    发表于 2010-1-25 15:50:31 | 只看该作者
    单步调试...找到错误的地方,把SQL语句提出来执行
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-3-3 10:21
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    9#
    发表于 2010-1-25 16:04:23 | 只看该作者
    将sql语句提出来单独执行下,试下呢,应该是字符串连接的问题
    BYQBH----->是一个列名,BYQBH1、BYQBH2、BYQBH3都存在相应的列名吗
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    10#
     楼主| 发表于 2010-1-25 16:13:45 | 只看该作者
    BYQBH是原表的一个列明,但是我已经通过sql语句转换的和页面的列名称一样了
    我也不知道为什么,在QTP中代码很整齐的啊,呵呵
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    11#
     楼主| 发表于 2010-1-25 16:23:29 | 只看该作者
    知道啦,Order By BYQBH"&j 后面的&j是多余的,谢谢大家啦
    QTP中sql语句好像只能写在一行吧,我写多行不对,因为是多表联合查询,所以只能写成一行,看上去是挺乱的,呵呵

    [ 本帖最后由 mizhe521 于 2010-1-25 16:28 编辑 ]
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-3-3 10:21
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]测试排长

    12#
    发表于 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 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 21:37 , Processed in 0.088686 second(s), 28 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表