ClientDataSet

Delphi

14/02/2004

Alguem poderia me dizer porque acontece o erro ´Record not found or changed by another user´ e qual a solução para este problema?


Alex Maia

Alex Maia

Curtidas 0

Respostas

Brunolspp

Brunolspp

14/02/2004

Este erro ocorre pq o registro q esta sendo editado, foi alterado ou excluido da sua base de dados neste meio tempo. Lembre-se: o ClientDataSet trabalha desconectado da fonte de dados.
Existem duas formas de se resolver isso:

1ª - Estude sobre o evento OnReconcilieError do ClientDataSet e sobre o ReconcilieErrorForm em Dialogs do Object Repository.

2ª e melhor - Faça o curso Delphi Cliente/Servidor do ClubeDelphi e se prepare para o desenvolvimento comercial aproveitando ao máximo os recursos disponíveis no Delphi 7. Este treinamento pode ser ministrado em qualquer lugar do Brasil. Entrem em contato conosco!($$$$$$$$$$$$$)

Abraços e até o TechDay!!!! Rio e BH já tem data e é só R$20,00


GOSTEI 0
Alex Maia

Alex Maia

14/02/2004

Por favor,
Alguem pode me fornecer algumas linhas de código que solucionem o meu problema?
Desde já agradeço.


GOSTEI 0
Brunolspp

Brunolspp

14/02/2004

Prezado Alex, adicione ao seu projeto um formulário do repositório dialogs chamado Reconcilie Error Dialog, no formulário onde existe o clientdataset onde ocorre o problema adicione a unidade deste formulário na seção uses, e seguida vá ao evento onReconcilieError do ClientDataSet e digite o seguinte código:

Action := HandleReconcileError(DataSet, UpdateKind, e);

Use o Help para obter mais informações, explicar tudo por texto é muito complicado. este comando basicamente vai usar o formulário q vc adicionou para tratar deste problema, mas existem outras maneiras de tratá-lo.

Se preferir me ligue aqui no Rio, basta discar para o treinamento e pedir para falar comigo e te explicarei. 21-2213-0940


GOSTEI 0
Alex Maia

Alex Maia

14/02/2004

Caro amigo,
Eu ja havia tentado esta solução, porém não sei em que errei, pois no momento do erro era-me apresentado o ReconcileErrorForm e eu solicitava para que os dados fossem gravados e isso não acontecia.
Estudei o código do ReconcileErrorForm para tentar personalizar a solução de forma que não fosse apresentado nenhuma tela ao usuário, contudo não obtive êxito, porque mais uma vez os dados não eram atualizados.


GOSTEI 0
POSTAR