Fórum Controle de Transação - ClientDataSet (D5) #291741

15/08/2005

0

Utilizo Delphi 5, servidor de aplicação utilizando midas, banco Oracle. No client eu tenho um processo que preciso gravar em 3 tabelas (clientdataset), porém isto compreende uma única transação na regra de negócios, ou seja, ou o processo grava nas 3 ou então não deve gravar em nenhuma. Como eu faço isto usando esta estrutura ?

exemplo:
cds1.applyupdates(0); // ok
cds2.applyupdates(0); // ok
cds3.applyupdates(0); // ERRO, então neste estágio eu preciso reverter os dois updates acima, tem algo tipo o tradicional starttransaction, commit ou rollback ?

sds
Fábio Gibon


Gibon

Gibon

Responder

Posts

15/08/2005

Robsons

Olá Fábio...

Tb trabalho com ClientDataSet...e costumo colocar antes do apply
o

Try
startTransaction
....Apply.....(0)
....Apply.....(0)
Commit
Excepty
Roolback



Espero ter colaborado..

Robson.


Responder

Gostei + 0

15/08/2005

Gibon

Robson,
muito obrigado pela resposta, mas será que o seu ambiente é o mesmo meu ? client + servidor de aplic + banco... eu estou fazendo isto no client, nao tenho o TDatabase aqui, apenas no server... ou será que eu que nao entendi alguma coisa ? Tens como transcrever um mini trecho do que vc faz, ou me explicar melhor ?

um abraço
Fábio Gibon


Olá Fábio... Tb trabalho com ClientDataSet...e costumo colocar antes do apply o Try startTransaction ....Apply.....(0) ....Apply.....(0) Commit Excepty Roolback Espero ter colaborado.. Robson.



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar