奇怪的问题
我在ASP中用ADODB.Connection连接一个ACCESS数据库,在执行Execute后,获得的一个Recordset的数据集,可是在属性Recordcount中的值始终为-1,这我就不明白了,明明我的表中是有数据的,请高手指教一下,代码如下:
tmpstr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Inetpub\wwwroot\ecrm_shiji\db\db1.mdb"
conn.Open tmpstr
Set rs = conn.Execute("select * from[member_info]")
这是我用VB写的测试程序,得出的结果仍然是-1,不理解为什么会这样的
问题点数:100、回复次数:6Top
1 楼jinfeng003(靳奉山)回复于 2006-06-02 10:41:42 得分 0
set rs=con.Execute(SQL)
的方式得到的rs就是-1
只有rs.Open的才正确
Top
2 楼netdust(静时常思己过,闲谈勿论人非)回复于 2006-06-02 10:47:50 得分 0
换用rs.open "select...",conn,1,1
试试Top
3 楼danis_cn(宇宙鸟)回复于 2006-06-02 10:50:16 得分 0
楼上说的没错
Set rs = conn.Execute("select * from[member_info]")
获取不到recordcount记录Top
4 楼gxh7506(潇湘水云(.NET深圳程序员联盟群:22059542,QQ:78726784))回复于 2006-06-02 10:50:36 得分 100
使用 RecordCount 属性可确定 Recordset 对象中记录的数目。ADO 无法确定记录数时,或者如果提供者或游标类型不支持 RecordCount,则该属性返回 –1。读已关闭的 Recordset 上的 RecordCount 属性将产生错误。
使用 Connection 对象的 Execute 方法,可执行任何在指定连接的 CommandText 参数中传送给方法的查询。如果 CommandText 参数指定按行返回的查询,执行产生的任何结果将存储在新的 Recordset 对象中。如果命令不是按行返回的查询,则提供者返回关闭的 Recordset 对象。
返回的 Recordset 对象始终为只读、仅向前的游标。如需要具有更多功能的 Recordset 对象,应首先创建具有所需属性设置的 Recordset 对象,然后使用 Recordset 对象的 Open 方法执行查询并返回所需游标类型。
Top
5 楼liangjianshi(两件事)回复于 2006-06-02 10:54:50 得分 0
学习Top
6 楼tanfo2002(tanfo)回复于 2006-06-02 11:27:39 得分 0
解决了我的疑问,多谢!!!Top




