51Testing软件测试论坛

标题: 求助:BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除 [打印本页]

作者: zhangkun90    时间: 2013-1-30 09:31
标题: 求助:BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除
事情是这样的:
      如附件所示,我使用附件中的代码所示,在QTP中运行提示:BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
但是我拿该条SQL语句在 mysql 中可以正确的执行并可以查询出该条记录,奇怪的是 当我把
select * from user where u_name='xys10020'  中的 u_name值变成纯英文时(没有数字),
例如:select * from user where u_name='ceshi' 是,则运行QTP该段语句却可以正常的执行 并且执行成功
我想知道这是咋回事捏  求高手解答
作者: xjwldlover    时间: 2013-1-30 11:16
我可以蒙一下吗?
我没看到你对查询结果有是否为空的判断,即rs.eof (或者rs.bof),假如你查询结果是空的,这时你取第一条就会报错啦
作者: zhangkun90    时间: 2013-1-30 12:00
本帖最后由 zhangkun90 于 2013-1-30 12:08 编辑

哎呀 猜对了, 是这样的哈 我捣鼓了一上午 才知道是什么原因,首先 user这个表在mysql中一共有5页,哎 ,u_name=‘xys10020’这条数据在最后一页,而 u_name='ceshi'这条数据在第一页上 也就是说在QTP中执行查询尾页的语句时会报这样的错误。
之后呢加了一个 while not adoStr.EOF
                       msgbox(XXX)
                      adoStr.MoveNext
这条循环就好了  
可是我还是不知道为啥会这样


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
这个哈  是数据库连错了 把数据库A中的数据 在数据库B中查了   这不错了么  我犯2了
作者: xjwldlover    时间: 2013-1-30 14:48
回复 3# zhangkun90

百度一下eof会不会就清楚了呢




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