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.


Buenolex

Buenolex

Responder

Posts

29/12/2006

Fortaum

try
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

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

Aceitar