qtp测试问题
问题:select *frommt_task where convert(varchar(32) ,PtMsgID)='num'将bigint转换为字符型, 在sql server中执行查询语句是成功的
在qtp中使用vbscript连接数据后,数据库连接成功,查询失败 我想说报的什么错呢? 可能是其他问题,比如锁表方式、游标方式等,你把更多的代码贴出来看看。 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”自动查到该编号对应的数据进行自动有效性匹配。现在就是执行了以后会报如图错误,请大家帮忙解决。 不会上传图片,我用文字表述一下,
运行报 RUN error
BOF或Eof中有一个是"真",或者当前的记录已被删除,所需的操作需要一个当前的记录
line 【36】:" msgbox adoRst.Fields.item(i).value
" 你的sql语句写错了,所以查询不到记录。
sqlStr="select *frommt_task where convert(varchar(32) ,PtMsgID)='num'"
改为:
sqlStr="select *frommt_task where convert(varchar(32) ,PtMsgID)='"+num+"'"
页:
[1]