ado recordset 对象的 recordcount记数为-1问题,

heguowei 宜联互动(北京)科技发展有限公司 技术总监  2003-12-08 06:10:50
为什么我的程序在有的机子上用.recordcount返回正确的值,而在我的机子上显示的是-1呢,郁闷很久了
...全文
12 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zgxly2002 2003-12-09
recordset.Open Source, ActiveConnection, CursorType, LockType, Options

要设cursortype,locktype,才能用recordcount属性

使用 RecordCount 属性可确定 Recordset 对象中记录的数目。ADO 无法确定记录数时,或者如果提供者或游标类型不支持 RecordCount,则该属性返回 –1。读已关闭的 Recordset 上的 RecordCount 属性将产生错误。

如果 Recordset 对象支持近似定位或书签(即 Supports (adApproxPosition) 或 Supports (adBookmark) 各自返回 True),不管是否完全填充该值,该值将为 Recordset 中记录的精确数目。如果 Recordset 对象不支持近似定位,该属性可能由于必须对所有记录进行检索和计数以返回精确 RecordCount 值而严重消耗资源。

Recordset 对象的游标类型会影响是否能够确定记录的数目。对仅向前游标,RecordCount 属性将返回 -1,对静态或键集游标返回实际计数,对动态游标取决于数据源返回 -1 或实际计数。

回复
navicy 2003-12-08
使用 RecordCount 属性可确定 Recordset 对象中记录的数目。ADO 无法确定记录数时,或者如果提供者或游标类型不支持 RecordCount,则该属性返回 –1。读已关闭的 Recordset 上的 RecordCount 属性将产生错误。

Recordset 对象的游标类型会影响是否能够确定记录的数目。对仅向前游标,RecordCount 属性将返回 -1,对静态或键集游标返回实际计数,对动态游标取决于数据源返回 -1 或实际计数。

所以你要更改游标类型才能使用RecordCount属性
回复
heguowei 2003-12-08
也就是说我用set rs=conn.execute sql时,在有数据情况下用recordcount,返回的就不是-1,可我的机子返回的是-1,而相同的程序在有的服务器上就不是,这是什么原因呢
回复
shleo 2003-12-08
excute是默认1,1
每个机器都是一样,这和机器无关,是语句的默认
回复
heguowei 2003-12-08
但是为什么在有的机子上运行时就返回正确的记录数,
我的打开数据库记录方法是:
set rs=conn.execute sql
是不是机的默认值不一样呢,
回复
shleo 2003-12-08
游标集的问题
默认是1,1
1表示前向游标
会返回-1
回复
heguowei 2003-12-08
我想知道为什么,谢谢
回复
bingofei 2003-12-08
rs.open sql,conn,3,1
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2003-12-08 06:10
社区公告
暂无公告