Trabalhando com transação no código (usando dbExpress)

Delphi

29/12/2006

Olá amigos, tenho uma aplicação Delphi com banco Firebird utilizando componentes de conexão dbExpress. Fiz testes em gravação em duas tabelas e verifiquei que preciso iniciar uma transação, dar o ´post´ nas duas e calso algo dê errado efetuar um rollback ou concluir com ApplyUpdates. Minha dúvida é como fazer isto. Alguém poderia por favor me esclarecer com algum código-exemplo?
Grato,
Lex.

Obs.: utilizo o Turbo Delphi.


Buenolex

Buenolex

Curtidas 0

Respostas

Fortaum

Fortaum

29/12/2006

try
if not IBTransaction1.InTransaction then
IBTransaction1.StartTransaction

IBQuery1.Post

IBTransaction1.Commit;

except
IBTransaction1.Rollback;

end;


GOSTEI 0
Gpfranca

Gpfranca

29/12/2006

Olá amigos, tenho uma aplicação Delphi com banco Firebird utilizando componentes de conexão dbExpress. Fiz testes em gravação em duas tabelas e verifiquei que preciso iniciar uma transação, dar o ´post´ nas duas e calso algo dê errado efetuar um rollback ou concluir com ApplyUpdates. Minha dúvida é como fazer isto. Alguém poderia por favor me esclarecer com algum código-exemplo? Grato, Lex. Obs.: utilizo o Turbo Delphi.


Bom dia amigo,

Declare DBXpress no uses.

var
TD: TTransactionDesc;
sFicha, sTransacao: String;
begin
TD.TransactionID := GetTickCount;
TD.IsolationLevel := xilREADCOMMITTED;
dmServer.SQLConnection.StartTransaction(TD);
try
.
.
dmServer.SQLConnection.Commit(TD);
except
dmServer.SQLConnection.Rollback(TD);
end;
end;


GOSTEI 0
POSTAR