Controle de Transação - ClientDataSet (D5)

Delphi

15/08/2005

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

Curtidas 0

Respostas

Robsons

Robsons

15/08/2005

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.


GOSTEI 0
Gibon

Gibon

15/08/2005

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.



GOSTEI 0
POSTAR