Entra a www.q3.nu/trocumania
Busca la seccion de Base Datos... y ahi encontraras lo que estas buscando..
aunque este es el truco:
A veces, es interesante poder parar una consulta que tarde demasiado una vez hecho el
Query1.Open o Query1.ExecSQL
Podemos hacerlo con el evento OnServerYield del Query:
Crea una form (Form1) con una TQuery (Query1) y dos TButtons (Button1 y Button2)
Crea una variable global a la form de tipo Boolean (metela en el var de la form) llamada 'Abortar'
En el OnClick del Button1 pon Abortar:=FALSE; y añade el código que inicia la consulta
En el evento OnServerYield del Query1 pon esto:
procedure TForm1.Query1ServerYield(DataSet: TDataSet;
var AbortQuery: Boolean);
begin
AbortQuery:=Abortar;
Application.processmessages;
end;
y por fín, en el OnClick del Button2 pon Abortar:=TRUE;
y... ya está. Usa Button1 para comenzar la consulta y Button2 para abortarla
NOTA: Segun la ayuda del TQuery: Solo Sybase ejecuta el OnServerYield