51Testing软件测试论坛

标题: qtp测试问题 [打印本页]

作者: gllbb    时间: 2013-3-11 15:06
标题: qtp测试问题
问题:select   *  from  mt_task where convert(varchar(32) ,PtMsgID)='num'

      将bigint转换为字符型, 在sql server中执行查询语句是成功的
      在qtp中使用vbscript连接数据后,数据库连接成功,查询失败
作者: joykao    时间: 2013-3-11 17:48
我想说报的什么错呢?
作者: 泰然    时间: 2013-3-12 08:52
可能是其他问题,比如锁表方式、游标方式等,你把更多的代码贴出来看看。
作者: gllbb    时间: 2013-3-12 14:15
Dialog("ToolFrame").WinTreeView("新测试工具").Expand "EMP"
Dialog("ToolFrame").WinTreeView("新测试工具").Activate "EMP;EMP GET"
Dialog("ToolFrame").WinEditor("手机号码").SetCaretPos 0,0
Dialog("ToolFrame").WinEditor("手机号码").Type DataTable("phone", dtGlobalSheet)
Dialog("ToolFrame").WinEditor("1").SetCaretPos 0,0
Dialog("ToolFrame").WinEditor("1").Type DataTable("message", dtGlobalSheet)
Dialog("ToolFrame").WinButton("发送").Click
Dialog("ToolFrame").WinList("RPT数:").DblClick 385,51
Dialog("ToolFrame").WinList("RPT数:").Type micCtrlDwn + "c" + micCtrlUp
Dim str,splitstr
str=Dialog("ToolFrame").WinList("RPT数:").GetContent
splitstr=":"
'msgbox str
num=right(str,len(str)-instrrev(str,splitstr))
msgbox num



Dim adoConn,adoRst
Dim cnnStr,sqlStr,strName
cnnStr="rovider=sqloledb;Data Source=192.169.1.11;Initial Catalog=39empsvr2ersist Security Info=True;User ID=saassWord=Server_505"

sqlStr="select   *  from  mt_task where convert(varchar(32) ,PtMsgID)='num'"
Set adoConn=CreateObject("adodb.connection")                                                   
adoConn.Open cnnStr

If adoConn.State=0Then
        msgbox"连接失败!"
        else
        msgbox"连接成功!"
End If

Set adoRst=adoConn.Execute(sqlStr)
For i=0 to adoRst.Fields.Count-1
        msgbox adoRst.Fields.item(i).value

Next

adoConn.Close
Set adoConn=nothing
Set adoRst=nothing
这个脚本的目的就是获取工具生成的流水号“num”自动查到该编号对应的数据进行自动有效性匹配。现在就是执行了以后会报如图错误,请大家帮忙解决。[img][img][/img][/img]
作者: gllbb    时间: 2013-3-12 14:21
不会上传图片,我用文字表述一下,
运行报 RUN error
   
      BOF或Eof中有一个是"真",或者当前的记录已被删除,所需的操作需要一个当前的记录
line 【36】:" msgbox adoRst.Fields.item(i).value

"
作者: feiyunkai    时间: 2013-3-13 14:26
你的sql语句写错了,所以查询不到记录。
sqlStr="select   *  from  mt_task where convert(varchar(32) ,PtMsgID)='num'"
改为:
sqlStr="select   *  from  mt_task where convert(varchar(32) ,PtMsgID)='"+num+"'"




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