Fórum Problema com refresh no DBNavigator com FireBird Delphi 7 #345442
02/09/2007
0
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
Curtir tópico
+ 0
Responder
Posts
03/09/2007
Fabiano Góes
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;
Responder
Gostei + 0
05/09/2007
Marceloalmeidasantana
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?
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)