51Testing软件测试论坛

标题: 刚学QTP不久 ,请教个问题! [打印本页]

作者: east_rise    时间: 2007-1-9 13:38
标题: 刚学QTP不久 ,请教个问题!
现在想设置个数据库的检验点,是这样做的!请大家指教一下
  测试的是个应用程序,是向数据库添加数据的操作(通过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

还有想问下 这样设置 算不算数据库检验点 ,在问下有没有其他的方法设置! 谢谢
作者: east_rise    时间: 2007-1-9 14:01
请各位指点以下!谢谢
作者: xiaonan    时间: 2007-1-9 14:03
这种东西只有自己调试一下.首先直接通过SQL的查询分析器去看一下,是不是有值?如果连那边都没查出来,那就不是代码问题了.要是那边有值,再回头来调试代码,看因为什么原因才导致没查到结果的
作者: east_rise    时间: 2007-1-9 14:12
sql="select  *  from tblcustomer where Acctnum='19840104'"
如果我用固定的编号 就能找到记录,加上isAccount变量 就找不到了
作者: 风过无息    时间: 2007-1-9 14:29
sql="select  *  from tblcustomer where Acctnum='&isAccount'"
换成
sql="select  *  from tblcustomer where Acctnum='"&isAccount&"'"
作者: xiaonan    时间: 2007-1-9 14:38
哦,这个原因啊.你把变量也放到引号内了,就会当字符串来执行了
作者: east_rise    时间: 2007-1-9 15:08
哦  不好意思  !谢谢各位!




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2