我的rs.recordcount为什么等于-1?

aspvbjava 2003-03-28 04:20:50
有没有人碰到过这种情况阿?
郁闷死我了,调试了一个下午,也没搞明白
至少也应该是0啊,何况我数据库中还有一条记录呢
大人指点阿!!!!!!
...全文
128 点赞 收藏 13
写回复
13 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
hzybc 2003-03-29
用 adOpenStatic
回复
look4u 2003-03-28
使用 RecordCount 属性可确定 Recordset 对象中记录的数目。ADO 无法确定记录数时该属性返回 –1。读已关闭的 Recordset 上的 RecordCount 属性将产生错误。
rs.LockType = adLockOptimistic
rs.CursorLocation = adUseClient
rs.CursorType = adOpenDynamic
rs.Open strSql, cn

回复
aspvbjava 2003-03-28
哦,果然,我定义了一个主键就搞定了
谢谢楼上的兄弟姐妹!!!!
回复
aspvbjava 2003-03-28
嗯, 我的表确实没有定义主键
必须要定义主键吗?
另外,adopendynamic,adopenforwardonly,adopenkeyset,adopenstatic有关系吗?
我设置的是adopenkeyset
回复
normandj 2003-03-28
表没有定义主键,我曾经也是试过这样
回复
chenyu5188 2003-03-28
设置记录对象的CursorLocation 为adUserClient(本地游标)试试。
rs.CursorLocation = adUserClient
rs.open "select * from XXXX",cn,3,3
rs.movelast
rs.movefrist
msgbox "共有:" & rs.recordcount & "条记录!!!"

还有可能就是查询没有找到符合条件的记录。


回复
aspvbjava 2003-03-28
我记得昨天rs.recordcount还能够取得记录的数目的
回复
aspvbjava 2003-03-28
55555555告诉我怎么样取得正确的recordcount吧?!
回复
aspvbjava 2003-03-28
谢谢各位达人,我去修改先
回复
chsegang 2003-03-28
主要是你的游标类型不支持count
回复
Zedee 2003-03-28
rs.movelast先
回复
wamlaw 2003-03-28
使用 RecordCount 属性可确定 Recordset 对象中记录的数目。ADO 无法确定记录数时,或者如果提供者或游标类型不支持 RecordCount,则该属性返回 –1。
Recordset 对象的游标类型会影响是否能够确定记录的数目。对仅向前游标,RecordCount 属性将返回 -1,对静态或键集游标返回实际计数,对动态游标取决于数据源返回 -1 或实际计数。
回复
qqqdong 2003-03-28
rs.CursorLocation = adUserClient
回复
相关推荐
发帖

1187

社区成员

VB 数据库(包含打印,安装,报表)
申请成为版主
帖子事件
创建了帖子
2003-03-28 04:20
社区公告
暂无公告