Problem with Rollback Transaction
Posted: Wed 08 Aug 2018 13:04
Hi Viktor!!
We 've a probleme with Rollback Transaction. We ´ve made a test case. ( one table, one transaction, one connection)
Embarcadero: Delphi Tokyo ( VCL)
var
vQuery : TIBCQuery;
tranUpdatetc: TIBCTransaction;
begin
IBCtable1.AutoCommit := false;
tranUpdatetc := TIBCTransaction.Create(IBCConnection1);
tranUpdatetc.DefaultConnection:=IBCConnection1;
tranUpdatetc.StartTransaction;
try
vQuery := TIBCQuery.Create(nil);
vQuery.AutoCommit:= false;
vQuery.UpdateTransaction:=tranUpdatetc;
vQuery.Connection := IBCConnection1;
vQuery.Sql.Add( 'UPDATE ELFORMULARIOS SET GENERADO = ''N''');
vQuery.ExecSQL;
if tranUpdatetc.Active = true then
Begin
tranUpdatetc.Rollback; ( we´re testing rollback, but it doesn't work)
End;
except
tranUpdatetc.Commit;
vQuery.Free;
tranUpdatetc.Free;
end;
end;
Can you help us? what´s happens?
Thanks in advanced
Angélica ( Arizmendi Team)
We 've a probleme with Rollback Transaction. We ´ve made a test case. ( one table, one transaction, one connection)
Embarcadero: Delphi Tokyo ( VCL)
var
vQuery : TIBCQuery;
tranUpdatetc: TIBCTransaction;
begin
IBCtable1.AutoCommit := false;
tranUpdatetc := TIBCTransaction.Create(IBCConnection1);
tranUpdatetc.DefaultConnection:=IBCConnection1;
tranUpdatetc.StartTransaction;
try
vQuery := TIBCQuery.Create(nil);
vQuery.AutoCommit:= false;
vQuery.UpdateTransaction:=tranUpdatetc;
vQuery.Connection := IBCConnection1;
vQuery.Sql.Add( 'UPDATE ELFORMULARIOS SET GENERADO = ''N''');
vQuery.ExecSQL;
if tranUpdatetc.Active = true then
Begin
tranUpdatetc.Rollback; ( we´re testing rollback, but it doesn't work)
End;
except
tranUpdatetc.Commit;
vQuery.Free;
tranUpdatetc.Free;
end;
end;
Can you help us? what´s happens?
Thanks in advanced
Angélica ( Arizmendi Team)