请教:如何在ADO.Recordset中进行快速绝对定位.

roscoe 2006-08-20 02:12:15
SetAbsolutePos 是与RecordCount相关.在大数据时开销太大
...全文
403 点赞 收藏 6
写回复
6 条回复
trueadou 2006年08月21日
Move()方法是相对于当前记录来移动指针位置的,正值向后移动、负值向前移动,如:Move(3),当前记录是3时,它将从记录3开始往后再移动3条记录位置
回复 点赞
jeam0402 2006年08月21日
用move,直接向前或向后移动n条位置
回复 点赞
Woodman007 2006年08月21日
VB 中是用 move
adoRs.Move nPos, adBookmarkFirst
其中 nPos 是你要定位的位置

VC 中也应该有相应的函数
回复 点赞
roscoe 2006年08月21日
我是想找一人快速定位的方法.MOVE, SetAbsolutePosition 都不行.
比方说:Move(10000)或SetAbsolutePosition(10000)开销太大,有1000多MS.
这个太慢了.
我现在的方法是先取ABS_POS.然后比较目的位置.近的用MOVENEXT,MOVEPREVIOUS.
远得用SetAbsolutePos.但是效果不是很好.
==============================================
这个ADO 的内部行记录好象只是一个简单的链表.当MOVE或ABSPOS时的值很大时.
开销也很大.而我希望MOVE或ABS的定位时间能是一个或以接受的恒量.
回复 点赞
handsomerun 2006年08月20日
要么move
回复 点赞
handsomerun 2006年08月20日
Find???
回复 点赞
发动态
发帖子
数据库
创建于2007-09-28

3443

社区成员

3.9w+

社区内容

VC/MFC 数据库
社区公告
暂无公告