gpt4 book ai didi

delphi - 如何在处理期间查看查询执行的进度?

转载 作者:行者123 更新时间:2023-12-03 15:51:07 25 4
gpt4 key购买 nike

我在delphi中使用以下代码作为句柄:

procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet; Progress,

MaxProgress: Integer; var EventStatus: TEventStatus);

begin

Progressbar1.Visible:=true;

Progressbar1.Max:=MaxProgress;

Progressbar1.Ppsitian:=Progress;

Progressbar1.Visible:=false;

end;

但是……我看不到任何效果(此代码不执行)

我想显示当用户单击数据库中的“搜索”按钮时查询执行的进度,从开始到完成进度栏中的过滤器。

按钮 onclick 代码:

with ADOQuery1 do

begin

SQL.Clear;

SQL.Add('select * from tbl1 where id = '+Edit1.Text);

Open;

end;

但我在进度条中没有任何变化,就好像没有在 OnFetchProgress 事件中编写任何代码一样。

我代表你了吗?

最佳答案

您必须设置属性 ExecuteOptionseoAsyncFetch在调用打开过程之前

检查此示例

with ADOQuery1 do
begin
SQL.Clear;
SQL.Add('select * from tbl1 where id = '+Edit1.Text);
ExecuteOptions:=[eoAsyncFetch];
Open;
end;


procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet; Progress,
MaxProgress: Integer; var EventStatus: TEventStatus);
begin
ProgressBar1.Max :=MaxProgress;
ProgressBar1.Position :=Progress;
Application.ProcessMessages;
end;

关于delphi - 如何在处理期间查看查询执行的进度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4237112/

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