Nil*_*phi 3 delphi events progress dataset
我在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;
Run Code Online (Sandbox Code Playgroud)
但....我看不到任何效果(此代码不执行)
我想显示在用户点击数据库中的SEARCH按钮从开始到完成过滤器中的过滤时查询执行的进度.
按钮onclick代码:
with ADOQuery1 do
begin
SQL.Clear;
SQL.Add('select * from tbl1 where id = '+Edit1.Text);
Open;
end;
Run Code Online (Sandbox Code Playgroud)
但我在进度条中没有任何变异,好像不在OnFetchProgress事件中写任何代码.
我代表你了吗?
您必须将属性设置ExecuteOptions为eoAsyncFetch之前调用打开过程
检查这个样本
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;
Run Code Online (Sandbox Code Playgroud)