Problema com refresh no DBNavigator com FireBird Delphi 7

Delphi

02/09/2007

Uso Firebird e delphi 7 e estou enfrentando problemas na
gravação e atualização dos meus dados em uma tabela.

Utilizando os Componentes dbExpress

Em minha aplicação utilizo um dbnavigator e um dbgrid ligado a
mesma tabela. Insiro um registro e clico no botão refente ao post do
navigator. Em seguida edito o mesmo registro utilizando o botão
refente ao edit e gravo com o botão referente ao post também. Depois
deste processo, ao clicar no botão refresh o prorama me resulta no
seguinte erro:

´ClientDataSet: Must apply updates before refreshing data´

Alguém saberia me dizer o que se passa?

Obrigado.


Marceloalmeidasantana

Marceloalmeidasantana

Curtidas 0

Respostas

Fabiano Góes

Fabiano Góes

02/09/2007

Bom,
se você está usando DBX imagino que o seu navigator está ligado ao DataSource que está ligado ao ClientDataSet certo ?

com ClientDataSet n ão funciona o metodo refresh não funciona não sei dizer o porque geralmente para atualizar o ClientDataSet usa-se:
ClientDataSet.Close;
ClientDataSet.Open;


outra coisa:
quando você está executando o Post do navigator os dados estão sendo salvos na memória do ClientDataSet e não no banco, os dados só são gravados efetivamente no banco após o método:
ClientDataSet.ApplyUpdates;


então pode usar alguma coisa desse tipo:
begin
   // grava os dados na memória do ClientDataSet
   ClientDataSet.Post;
   // grava o estado atual do ClientDataSet no bano
   ClientDataSet.ApplyUpdates;
   // atualiza o ClientDataSet - como um refresh
   ClientDataSet.Close;
   ClientDataSet.Open;
end;



GOSTEI 0
Marceloalmeidasantana

Marceloalmeidasantana

02/09/2007

Valeww cara funcionou!! Muito Obrigado. Agora estou com outro problema quando levo o aplicativo para uma maquina que não tem o Delphi o aplicativo não abre. O q poderia está acontecendo?


GOSTEI 0
POSTAR