Problema com refresh no DBNavigator com FireBird Delphi 7
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.
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
Curtidas 0
Respostas
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:
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:
então pode usar alguma coisa desse tipo:
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
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