当 adoquery 刷新后,数据还在当前行

博客主要讨论了adoquery刷新后数据仍保持在当前行的问题及解决办法。可在重新打开前保存当前位置以便重新定位,提供了两种方法,一是使用书签,二是利用数据集可唯一定位的关键字如id来定位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当 adoquery 刷新后,数据还在当前行

当 adoquery 刷新后,数据还在当前行


解决方法,还是用重新打开的方法,但是在这个操作之前先保存当前的位置,以便重新打开之后进行定位。用如下的方法之一: 

//用书签 
var 
    SavePlace:   TBookmark; 
begin 
    SavePlace   :=   ADOQuery1.GetBookmark; 
    ADOQuery1.DisableControls; 
    ADOQuery1.Requery;     //与先Close再Open等效 
    ADOQuery1.EnableControls; 
    ADOQuery1.GotoBookmark(SavePlace); 
    ADOQuery1.FreeBookmark(SavePlace); 
end; 


//如果数据集有可唯一定位的关键字,如id,这样做: 
var 
    id:   Integer; 
begin 
    id   :=   ADOQuery1.FieldByName( 'id ').AsInteger; 
    ADOQuery1.DisableControls; 
    ADOQuery1.Requery; 
    ADOQuery1.EnableControls; 
    ADOQuery1.Locate( 'id ',   id,   []); 
end; 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值