Dbgrid não atualiza o registro após o clientdataset.refresh

01/06/2011

0

Estou com um problema.

Chamo o form de atualização a partir de outro form com a lista dos registros, mostrados através de um dbgrid.

Cliquo na célula do dbgrid e depois chamo o form de ediçãocom os dados do registro, através de um clique no botão, que prepara o registro para a alteração.

Quando atualizo o registro, e dou um refresh no clientdataset o dbgrid deixa visível apenas o registro alterado, mas mostrando o dado sem a alteração, apesar de no banco haver atualizado. So mostra os dados com as alterações, quando reinicio a aplicação.

o comando é o seguinte:

clientdateset.edit;
clientdataset.post;
clientdataset.applyupdate(0);
clientdataset.refresh;

Não sei o que estou fazendo de errado.


Francisco Macedo

Francisco Macedo

Responder

Posts

01/06/2011

Wilson Junior

No seu ClientDataSet você efetua algum Locate, atribui algum filtro a propriedade Filter ou altera o SQL?

Espero ter colabroado.
Responder

01/06/2011

Wilson Junior

No seu ClientDataSet você efetua algum Locate, atribui algum filtro a propriedade Filter ou altera o SQL?

Espero ter colaborado.
Responder

01/06/2011

Francisco Macedo

Não.

Os dados são carregados no form, a partir de um OnCellClique, são preparados para a edição através de um Clientdataset.edit.

Em seguida é dado um Clientdataset.post e um Clientdataset.applyupdate(0).

Para atualizar a query é dado um Clientdataset.refresh.

Neste momento o dbgrid elimina todos os registros e deixa apenas o registro editado.
Responder

02/06/2011

Rafael Mattos

como ta seu select? vc passa parametros para ele?
Responder

02/06/2011

Francisco Macedo

Olá Rafael.

O problema era o parâmetro do select. Resolvido.

Obrigado
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar