ClientDataSet não insere...

Delphi

30/06/2004

Tenho a seguinte configuração:
Firebird 1.5
SqlConnection -> SqlDataSet -> DataSetProvider -> ClientDataSet

Quando dou um ClientDataSet.Insert, mesmo assim ele não entra em modo de inserção...

Este problema começou a pouco tempo, mas não sei o motivo, nunca tinha visto nada igual.

A solução que encontrei é dar um ClientDataSet.CancelUpdates antes de dar um Insert, aí funciona corretamente, mas reintero que não é o correto.

Se alguem souber de algum problema com DBedit ou RXLib que cause isso favor me avisem...

obrigado,
Fabio


Henry.fartura

Henry.fartura

Curtidas 0

Respostas

Mariocanel

Mariocanel

30/06/2004

colocar o clientdataset em modo aberto
clientdataset .fetchparams;
clientdataset.open;
clientdataset.apend;


GOSTEI 0
Rômulo Barros

Rômulo Barros

30/06/2004

No botão Gravar, coloque o seguinte:

if(ClientDataset.ApplyUpdates(0) <> 0)then
begin
  clientDataSet.Cancel;
  ClientDataSet.CancelUpdates ;
end;


Aposto que o erro ocorre após a primeira inserção . Após a primeira inserção, ficam armazenados em cache os registros que não forão gravados na primeira inserção devido ao erro.l Então, o dbx tenta gravalos novamente...


GOSTEI 0
Henry.fartura

Henry.fartura

30/06/2004

vou testar as soluções apresentadas....

obrigado desde já.


GOSTEI 0
POSTAR