ApplyUpdate FireDac UpdateCache

03/11/2016

0

Ola Amigos bom dia.

Estou tendo problema nesta linha de codigo :

no primeireo metodo o FireDac Faz o ApplyUpdates Corretamente, estou usando Updade em Cache, mas apos este tenho a necessidade de um segundo tratamento com o 2 metodo. ja no segundo de forma alguma ele comita a informação na base de dados, ja tentei de tudo o ultimo codigo e o que estou enviando. não consigo resolver. preciso de ajuda.

1º Primeiro Metodo funciona o Apply:
if ReciboNFe <> '' then
begin
fMovNotasFiscais.fdqCustom.Edit;
fMovNotasFiscais.fdqCustomNF_LOTE_NFE.AsInteger := Lote;
fMovNotasFiscais.fdqCustomNF_DATA_SAIDA.AsDateTime := Date;
fMovNotasFiscais.fdqCustomNF_RECIBO_NFE.AsString := ReciboNFe;
fMovNotasFiscais.fdqCustomNF_XML_NFE.AsString := fXmlAssinado;
fMovNotasFiscais.fdqCustomNF_ID_NFE.AsString := ID_NFe;
fMovNotasFiscais.fdqCustomNF_SITUACAO.AsString := 'P';
fMovNotasFiscais.fdqCustom.Post;
fMovNotasFiscais.fdqCustom.ApplyUpdates(0);
-----------------------------------------------------------------------
2º Metodo apos o primeiro não esta Comitando.

fMovNotasFiscais.fdqCustom.Edit;
fMovNotasFiscais.fdqCustomNF_SITUACAO.AsString := 'A';
fMovNotasFiscais.fdqCustomNF_DATA_SAIDA.Clear;
fMovNotasFiscais.fdqCustom.Post;
dmPrincipal.DataBase.TxOptions.AutoCommit := False;
dmPrincipal.DataBase.StartTransaction;
iErrors := fMovNotasFiscais.fdqCustom.ApplyUpdates;
if iErrors = 0 then
begin
fMovNotasFiscais.fdqCustom.CommitUpdates;
dmPrincipal.DataBase.Commit;
end
else
dmPrincipal.DataBase.Rollback;
dmPrincipal.DataBase.TxOptions.AutoCommit := True;

Obs, já tinha tentanto fazer como o primeiro metodo sem isolar a transacao e mesmo assim nao comita de nenhuma forma.
Kelson Santos

Kelson Santos

Responder

Posts

03/11/2016

Araujo Junior.

Ao inves de usar o ApplyUpdates do FDQuery, você poderia utilizar o componente FDTransaction, ou o próprio FDConnection conforme exemplo no link abaixo.

http://docwiki.appmethod.com/appmethod/1.13/topics/en/Managing_Transactions_(FireDAC)
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