jueves, 9 de octubre de 2008

Refresh d'un TADOQuery

En un TADOQuery no es pot fer un refresh, ja que està pensat per a treballar amb tres capes (datasnap). Fins ara el que feiem era obrir i tancar el query per refrescar-lo. He trobat i provat el següent codi i realment refresca el query sense la necessitat d'executar la consulta i enviar tots els missatges de nou. El codi que fa això es:

procedure Refresh(ds: TADOCustomDataSet)
var
book: TBookMark;
begin
book := ds.GetBookmark;
try
ds.Requery;
ds.GotoBookmark(book);
finally
ds.FreeBookmark(book);
end;
end;

No hay comentarios: