Fórum Trabalhando com transação no código (usando dbExpress) #335406
29/12/2006
0
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.
Grato,
Lex.
Obs.: utilizo o Turbo Delphi.
Buenolex
Curtir tópico
+ 0
Responder
Posts
29/12/2006
Fortaum
try
if not IBTransaction1.InTransaction then
IBTransaction1.StartTransaction
IBQuery1.Post
IBTransaction1.Commit;
except
IBTransaction1.Rollback;
end;
if not IBTransaction1.InTransaction then
IBTransaction1.StartTransaction
IBQuery1.Post
IBTransaction1.Commit;
except
IBTransaction1.Rollback;
end;
Responder
Gostei + 0
29/12/2006
Gpfranca
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;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)