Canceling Commands
Go Up to Using Command Objects
If you are executing the command asynchronously, then after calling Execute you can abort the execution by calling the Cancel method:
 procedure TDataForm.ExecuteButtonClick(Sender: TObject);
 begin
   ADOCommand1.Execute;
 end;
 procedure TDataForm.CancelButtonClick(Sender: TObject);
 begin
   ADOCommand1.Cancel;
 end;
 void __fastcall TDataForm::ExecuteButtonClick(TObject *Sender)
 {
   ADOCommand1->Execute();
 }
 void __fastcall TDataForm::CancelButtonClick(TObject *Sender)
 {
   ADOCommand1->Cancel();
 }
The Cancel method only has an effect if there is a command pending and it was executed asynchronously (eoAsynchExecute is in the ExecuteOptions parameter of the Execute method). A command is said to be pending if the Execute method has been called but the command has not yet been completed or timed out.
A command times out if it is not completed or canceled before the number of seconds specified in the CommandTimeout property expire. By default, commands time out after 30 seconds.