sanbananzihan 发表于 2012-7-27 10:07:09

求高手,如何用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:35

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

回复 2# shingo0109

不行,Field(0)返回的值是select数据库后,首行的第一个字段的value

shingo0109 发表于 2012-7-27 14:36:31

回复 3# sanbananzihan


要用select count(*) from, count(*)就是计数的啊

sanbananzihan 发表于 2012-7-27 14:48:06

回复 2# shingo0109

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

sanbananzihan 发表于 2012-7-27 14:53:05

回复 4# shingo0109

额额,了解,这也是一种方法,现在发现这个问题的解决方法很多,基础差,真不好意思......
页: [1]
查看完整版本: 求高手,如何用recordset获取数据库查询出来的行数......