DBExpress - gravar alterações para o BD (firebird)

Delphi

09/01/2006

Olá!

Já li em vários lugares que para salvar as alterações em um determinado client dataset devo executar o método applyUpdates();
Isto está funcionando quando eu insiro ou edito um determinado registro de um dataset, mas quando deleto o registro, se eu executar esse méto ocorre um erro, e o registro não é excluido do BD.
O que devo fazer para efetivar essa exclusão??

Grato!


Fgarske

Fgarske

Curtidas 0

Respostas

Thomaz_prg

Thomaz_prg

09/01/2006

Isso deve estar acontecendo, porque, a exclusão do registro deve estar entrando em conflito com alguma regra do bancop (constraint ou verificação).
Certifique-se de que o applyupdates está sendo executado após a exclusão. Adicione também a linha abaixo no evento OnReconcileError do ClientDataSet:

Raise Exception.Create( E.Message );

Isso fará com que, caso surja algum problema no applyupdates, o mesmo seja mostrado em forma de exception.


GOSTEI 0
Fgarske

Fgarske

09/01/2006

ocorre o erro EDatabaseError: unable to find record. no key was specified.
A tabela não tem nenhuma restrição de exclusão. é uma tabela com 2 campos sem vínculo (declarado) com outras.


GOSTEI 0
POSTAR