51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2747|回复: 6
打印 上一主题 下一主题

[原创] 刚学QTP不久 ,请教个问题!

[复制链接]
  • TA的每日心情
    开心
    2016-10-21 07:32
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    跳转到指定楼层
    1#
    发表于 2007-1-9 13:38:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    现在想设置个数据库的检验点,是这样做的!请大家指教一下
      测试的是个应用程序,是向数据库添加数据的操作(通过datatable设置的数据),然后利用QTP连接上操作的数据库,查询数据库中添加记录是否成功。现在想得到datatable中的数据,用来执行SQL语句,并且判断是否能够添加成功,为什么执行SQL语句 查询不到结果呢,代码如下:

    VbWindow("frmMain").WinMenu("Menu").Select "Customer;Add"
    VbWindow("frmMain").VbWindow("frmCustTabNew").VbEdit("Text1").Set DataTable("account", dtGlobalSheet)

    VbWindow("frmMain").VbWindow("frmCustTabNew").VbButton("ThunderRT6CommandButton").Click
    VbWindow("frmMain").VbWindow("frmCustTabNew").VbButton("ThunderRT6CommandButton_2").Click
    VbWindow("frmMain").VbWindow("frmCustTabNew").VbButton("Set Status").Click
    VbWindow("frmSetCustStstus").VbButton("OK").Click
    VbWindow("frmMain").VbWindow("frmCustTabNew").VbEdit("txtBaseInfo(1)").Set "dswang"
    VbWindow("frmMain").VbWindow("frmCustTabNew").VbToolbar("tbr").Press "Apply"
    VbWindow("frmMain").VbWindow("frmCustTabNew_2").Close

    isAccount = DataTable("account", dtGlobalSheet)
    set con=createobject("adodb.connection")
    con.open "DRIVER=SQL Server;SERVER=DSWANG;UID=sa;"&_
                     "PWD=sa;APP=Microsoft Office 2003;WSID=DSWANG;DATABASE=demodata"
            MsgBox "sdf"&isAccount&"sdf"                         
    'access方式:con.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=d:\test.mdb"
    'Orocle方式:con.open "DRIVER={Oracle in OraHome92};SERVER=CESHI;UID=CND_TEST;PWD=CND;DBQ=CESHI;DBA=W;APA=T;EXC=F;XSM=Default;FEN=T;QTO=T;FRC=10;FDL=10;LOB=T;RST=T;GDE=F;FRL=Lo;BAM=IfAllSuccessful;MTS=F;MDI=Me;CSR=F;FWC=F;PFC=10;TLO=O;"
    set rs=createobject("adodb.recordset")
    sql="select  *  from tblcustomer where Acctnum='&isAccount'"
    rs.open sql,con

    If (  Not Rs.eof ) then
    Rs.MoveFirst
    msgbox("The Account  Number " &Rs(0)&"  is added successfull")
    else msgbox("The account is not find")
    'end if
    End If
    rs.close
    set rs=nothing
    con.close
    set con=nothing

    还有想问下 这样设置 算不算数据库检验点 ,在问下有没有其他的方法设置! 谢谢
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2016-10-21 07:32
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    2#
     楼主| 发表于 2007-1-9 14:01:43 | 只看该作者
    请各位指点以下!谢谢
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    3#
    发表于 2007-1-9 14:03:27 | 只看该作者
    这种东西只有自己调试一下.首先直接通过SQL的查询分析器去看一下,是不是有值?如果连那边都没查出来,那就不是代码问题了.要是那边有值,再回头来调试代码,看因为什么原因才导致没查到结果的
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-10-21 07:32
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    4#
     楼主| 发表于 2007-1-9 14:12:14 | 只看该作者
    sql="select  *  from tblcustomer where Acctnum='19840104'"
    如果我用固定的编号 就能找到记录,加上isAccount变量 就找不到了
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    5#
    发表于 2007-1-9 14:29:41 | 只看该作者
    sql="select  *  from tblcustomer where Acctnum='&isAccount'"
    换成
    sql="select  *  from tblcustomer where Acctnum='"&isAccount&"'"
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    6#
    发表于 2007-1-9 14:38:05 | 只看该作者
    哦,这个原因啊.你把变量也放到引号内了,就会当字符串来执行了
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2016-10-21 07:32
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    7#
     楼主| 发表于 2007-1-9 15:08:39 | 只看该作者
    哦  不好意思  !谢谢各位!
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

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

    GMT+8, 2024-9-22 03:46 , Processed in 0.072274 second(s), 25 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

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