51Testing软件测试论坛

标题: 请问为什么QTP用含有变量的SQL语句查询结果是空呢 [打印本页]

作者: zhanghaiyan57    时间: 2014-11-13 14:39
标题: 请问为什么QTP用含有变量的SQL语句查询结果是空呢
  QTP调用一个Function随机生成10位(包含数字和字符)存入一个变量aaaaa中,该变量aaaaa通过会员注册页面存入数据库中 而后QTP通过"select count(*) from table where t.zjhm like '"&aaaaa&"'" 来判断会员资料是否存入数据库中 目前查询的结果始终为0 实际上是存入成功的  。   加入变量aaaaa的值为IZLCYLQK37065,QTP直接使用"select count(*) from table where t.zjhm like  'IZLCYLQK37065' 是能够正确查询的


请各位大神帮帮忙,谢谢




作者: ermine    时间: 2014-11-13 20:15
你的function怎么写的?

打断点,或者msgbox"select count(*) from table where t.zjhm like '"&aaaaa&"'"
看看是不是因为作用域,没有赋值给aaaaa
作者: zhanghaiyan57    时间: 2014-11-17 14:38
ermine 发表于 2014-11-13 20:15
你的function怎么写的?

打断点,或者msgbox"select count(*) from table where t.zjhm like '"&aaaaa&" ...

function 是这样写的Function GetRndDigits(nlen)
    Dim item
    Dim i
    Randomize
    For i = 1 To nlen
        item = item & Int(Rnd * 10)
    Next
    GetRndDigits = item
End Function
通过print 打印这条SQL语句 aaaaa有值的
作者: sterson    时间: 2014-11-18 11:44
like 加 % 试一下呢
作者: ermine    时间: 2014-11-18 20:36
zhanghaiyan57 发表于 2014-11-17 14:38
function 是这样写的Function GetRndDigits(nlen)
    Dim item
    Dim i

那就用你打印出来的值,换成直接用SQL,看能不能查到

或者直接赋值给aaaa=IZLCYLQK37065,然后用QTP去执行那条字符串拼接的
作者: jelley_tung    时间: 2014-11-20 11:25
个人觉得,参数应该拼接,而不是直接作为内容查询,否则查询的就是属性为%aaaa%的记录了,肯定是没有的。




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