Query

Firebird

20/12/2003

eu estou fazendo uma consulta, em certo momento tenho que atualizar aquela consulta (sendo visualizada em uma grid), gostaria de saber se preciso fazer o codigo abaixo que usei ou existe algum comando que de um refresh nela e eu não perca a posição dela na tabela.

codigo:
var
I: Integer;
begin

with Qry do
begin
I := RecNo;
Close; Open;
while I <> RecNo do
Next;
end;

end;


Lucianolazzari

Lucianolazzari

Curtidas 0

Respostas

Afarias

Afarias

20/12/2003

se vc usa IBX q quer dar um Refresh apenas no registro selecionado, basta chamar o método Refresh.

Mas se tem q dar um ´refresh´ na Query por inteiro, realmente tem q fechar e abrir novamente, e sendo assim eu sugeriria::



var 
  Codigo: Integer; 
begin 
  with Qry do 
  begin 
    Codigo := FieldByName(´codigo´).AsInteger;
    Close; Open; 
    Locate(´codigo´, Codigo, []);
  end;
end; 





T+


GOSTEI 0
Maicongabriel

Maicongabriel

20/12/2003

utilize um Bookmark!

var
  aqui : TBookmark;
begin
  { pega a posição atual do registro }
  aqui := Query.Bookmark;
  { atualiza a query }
  Query.Refresh;
  { volta para o registro marcado }
  Query.GotoBookmark(aqui);
end;



GOSTEI 0
POSTAR