Problema com o delete no clientdataset.

Delphi

27/06/2011

Estou usando dbexpress com clientdataset.

Tenho um dbrig que lista o cadastro salvo no banco.

Está acontecendo um problema quando deleto um registro.

O próximo registro, apesar de salvo, não aparece imediatamente na lista do grid.

Só vai aparecer quando eu gravo outro registro.

Isto é, para aparecer na lista do dbgrid, tenho que salvar dois registro. Vai aparecendo o penúltimo salvo.

Estou dando um refresh depois do applyupdate.
Francisco Macedo

Francisco Macedo

Curtidas 0

Respostas

Rafael Mattos

Rafael Mattos

27/06/2011

vc usa filtro?
GOSTEI 0
Francisco Macedo

Francisco Macedo

27/06/2011

Não.

Estou usando um JOIN e quando seleciono o registro para deletar, carrego duas variáveis.
GOSTEI 0
Teí Sistemas

Teí Sistemas

27/06/2011

Olá Francisco,

você poderia mostrar o código que está fazendo isto?


GOSTEI 0
Francisco Macedo

Francisco Macedo

27/06/2011

Bom dia Luciano!

O código para deletar é o seguinte:

DM.clientdataset.Delete;
DM.clientdataset.ApplyUpdates(0);
DM.clientdataset.Refresh;

Após abro e fecho outros clientdataset, para atualizar alguns campos.

Em seguida abro outro formulário de cadastro, mantendo o formulário com o dbgrid contendo a lista dos registros aberto, e utilizo o seguinte código:

CamposRequeridos(DM.clientdataset);
DM.clientdataset.Post;
DM.clientdataset.ApplyUpdates(0);
DM.clientdataset.Refresh;

Esse clientdataset é o mesmo do delete.

Abro e fecho outros clientdataset, para atualizar alguns campos.

Atribuo uma soma a um label, do formulário com a lista de registro, de um valor salvo.





GOSTEI 0
Junior Viesa

Junior Viesa

27/06/2011

Colega, posta o seu select, pois ao que parece o problema está nele..
GOSTEI 0
Teí Sistemas

Teí Sistemas

27/06/2011

É Francisco, analisando seu código infelizmente não consegui encontrar nada... Mas vou continuar analisando, qualquer coisa aviso.
GOSTEI 0
POSTAR