gpt4 book ai didi

delphi - 在ADOQuery中更改当前记录之前会触发哪个事件,以及如何不更改当前记录?

转载 作者:行者123 更新时间:2023-12-03 19:23:09 26 4
gpt4 key购买 nike

在我的应用程序中,有如下链接的这些数据组件:

DBGrid > (DataSource > ADOQuery > ADOConnection)
DBNavigator > (DataSource > ADOQuery > ADOConnection)


每当用户从DBGrid选择另一行或使用DBNavigator时,ADOQuery的当前记录都会更改。很好,但是当用户对当前记录进行一些更改,然后离开该记录时,所做的更改将丢失。

我想显示一个确认对话框,如果发生任何更改,用户需要确认导航离开当前记录。而且,当用户单击“否”时,我希望该应用程序不更改当前记录。

我应该在哪里插入代码?在用户离开当前记录之前触发了哪个事件?如何阻止操作继续?

if anythingChanged then
if messageDlg(...)=mrNo then
ADOQuery.dontChangeCurrentRecord;

最佳答案

在“ BeforeScroll”上有条件中止;

procedure TForm1.ADOQuery1BeforeScroll(DataSet: TDataSet);
begin
if TAdoQuery(DataSet).Modified then //if anythingChanged then
Abort;
end;

关于delphi - 在ADOQuery中更改当前记录之前会触发哪个事件,以及如何不更改当前记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2085961/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com