Porque o Refresh não funciona?

Delphi

13/02/2008

Olá, é o seguinte:
Tenho um banco de dados Firebird 2.0 com 3 tabelas, uso os componentes ADOConnection e ADOQuery do Delphi 2007.
Após iniciar uma transação, deleto um registro da ADOQuery, se eu cancelar a transação, ou seja, dar um RollbackTrans e dar um refresh na ADOQuery, o registro deletado não aparece mais, mesmo estando presente ainda na tabela do banco de dados.
Porque não funciona? Alguém sabe?
Qualquer dica é bem vinda!


Edjlle

Edjlle

Curtidas 0

Respostas

Xandikbelo

Xandikbelo

13/02/2008

cara, uma saída simples seria tu usar Delete da query depois da operação, assim o registro so seria excluido quando o usuario realmente desse o commit...

Caso tu não possa fazer dessa forma, tenta simplesmente abrir a query de novo...

Mas se tu tb não pode fazer isso em função do funcionamento do negocio... posta ae os detalhes pra gente dar uma olhada!

Espero ter ajudado.


GOSTEI 0
Edjlle

Edjlle

13/02/2008

xandikbelo:

em primeiro lugar, obrigado pelas dicas, vamos aos detalhes:
uma saída simples seria tu usar Delete da query depois da operação, assim o registro so seria excluido quando o usuario realmente desse o commit...

infelizmente não é possível pq tô usando um DBGrid conectado a query, se for deletado da DBGrid, já é automaticamente deletado da query.

Caso tu não possa fazer dessa forma, tenta simplesmente abrir a query de novo...

isso é o q eu tenho feito, demora um pouco mas funciona,

O q eu queria saber mesmo é pq o refresh nunca funciona? Será q existe um jeito de fazer funcionar?


GOSTEI 0
POSTAR