I used the following code in delphi for handle :
procedure TForm1.ADOQuery1FetchProgress(DataSet: TCustomADODataSet; Progress,
MaxProgress: Integer; var E
you must set property ExecuteOptions to eoAsyncFetch before to call the open procedure
check this sample
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;