zhanghaiyan57 发表于 2014-11-13 14:39:02

请问为什么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:10

你的function怎么写的?

打断点,或者msgbox"select count(*) from table where t.zjhm like '"&aaaaa&"'"
看看是不是因为作用域,没有赋值给aaaaa

zhanghaiyan57 发表于 2014-11-17 14:38:09

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:46

like 加 % 试一下呢

ermine 发表于 2014-11-18 20:36:10

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:10

个人觉得,参数应该拼接,而不是直接作为内容查询,否则查询的就是属性为%aaaa%的记录了,肯定是没有的。
页: [1]
查看完整版本: 请问为什么QTP用含有变量的SQL语句查询结果是空呢