gllbb 发表于 2013-3-11 15:06:36

qtp测试问题

问题:select   *frommt_task where convert(varchar(32) ,PtMsgID)='num'

      将bigint转换为字符型, 在sql server中执行查询语句是成功的
      在qtp中使用vbscript连接数据后,数据库连接成功,查询失败

joykao 发表于 2013-3-11 17:48:12

我想说报的什么错呢?

泰然 发表于 2013-3-12 08:52:19

可能是其他问题,比如锁表方式、游标方式等,你把更多的代码贴出来看看。

gllbb 发表于 2013-3-12 14:15:08

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="Provider=sqloledb;Data Source=192.169.1.11;Initial Catalog=39empsvr2;Persist Security Info=True;User ID=sa;PassWord=Server_505"

sqlStr="select   *frommt_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”自动查到该编号对应的数据进行自动有效性匹配。现在就是执行了以后会报如图错误,请大家帮忙解决。

gllbb 发表于 2013-3-12 14:21:37

不会上传图片,我用文字表述一下,
运行报 RUN error
   
      BOF或Eof中有一个是"真",或者当前的记录已被删除,所需的操作需要一个当前的记录
line 【36】:" msgbox adoRst.Fields.item(i).value

"

feiyunkai 发表于 2013-3-13 14:26:05

你的sql语句写错了,所以查询不到记录。
sqlStr="select   *frommt_task where convert(varchar(32) ,PtMsgID)='num'"
改为:
sqlStr="select   *frommt_task where convert(varchar(32) ,PtMsgID)='"+num+"'"
页: [1]
查看完整版本: qtp测试问题