51Testing软件测试论坛

标题: 求高手,如何用recordset获取数据库查询出来的行数...... [打印本页]

作者: sanbananzihan    时间: 2012-7-27 10:07
标题: 求高手,如何用recordset获取数据库查询出来的行数......
Do while 142858<=i and i<=1428571
' i=i+int(199999*rnd) //随机生成数
msgbox i
   j=i*70
Set Rst1=createobject("ADODB.Recordset")
Rst1.Open "INSERT INTO test (prefix,awb) VALUES ('784','"&j&"')",conn //将随机生成数添加进数据库表
   Rst1.Open "select * from test where prefix='784' and awb='"&j&"'",conn //在数据库中查询随机生成数

  msgbox Rst1.RecordCount //返回查询结果的行数

我原意是想返回数据库里的行数,但是结果却是 -1,但数据库里的行数 >1,敢问哪位大虾能帮我解疑!!!!~
作者: shingo0109    时间: 2012-7-27 12:40
LZ这样写试试看:
Rst1.Open "select count(*) from test where prefix='784' and awb='"&j&"'",conn,1,1
iCount = Rst1.Fields(0)
msgbox iCount
作者: sanbananzihan    时间: 2012-7-27 14:32
回复 2# shingo0109

不行,Field(0)返回的值是select数据库后,首行的第一个字段的value
作者: shingo0109    时间: 2012-7-27 14:36
回复 3# sanbananzihan


  要用select count(*) from, count(*)就是计数的啊
作者: sanbananzihan    时间: 2012-7-27 14:48
回复 2# shingo0109

已找到方法,recordset.field.count是返回记录的列数,我是用recordset.recordcount来返回行数,并修改了sql的conn后的数字,把1改为3,因为1表示指针只能往前,这样在数据库统计时,返回的结果是-1,而3表示自由指针
作者: sanbananzihan    时间: 2012-7-27 14:53
回复 4# shingo0109

额额,了解,这也是一种方法,现在发现这个问题的解决方法很多,基础差,真不好意思......




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