如何在刷新Query后定位到指定记录(100分)

  • 主题发起人 主题发起人 HXA
  • 开始时间 开始时间
H

HXA

Unregistered / Unconfirmed
GUEST, unregistred user!
我遇到了一个奇怪的问题,将一个Query post以后,先close,再Open, 在close之前
使用bookmark记录当前位置,Open之后,用GotoMark走到指定的记录,但是非常奇怪的
是在和Query连接的DBGrid上出现了两条重复的记录,不知道是DBgrid的问题还是Query
的问题,我将Query的RequestLive设为True:
下面是我自己写的一个通用过程
procedure GotoMark(DataSet:TDataSet);
var
Mark1:Tbookmark;
begin
Mark1:=DataSet.GetBookmark;
DataSet.close;
DataSet.open;
DataSet.gotobookmark(mark1);
DataSet.freebookmark(mark1);
end;
我试过用locate可以解决此问题,但是我要处理的数据量比较大,最少要能处理
十万条记录,所以用locate的效率很低,不知哪位大虾有高招赐教。
 
不要用bookmark,还是在close之前记下当前记录的id(或key),在重新打开query之后在seek或locate 到原来的记录
 
我的也是记住关键字,然后下次打开的时候使用Locate。在Close以前记,以免删除的时候失败
 
但是locate的速度很慢,特别是在数据量比较大的时候
 
既然无人回答,结束此问题了。
 
HXA同志,我也遇到这样问题,即query.locate定位速度很慢!

不知,你解决了没有?
望不吝赐教!
 
后退
顶部