Código Delphi
[-]
if Database.DefaultTransaction.InTransaction then
Database.DefaultTransaction.Commit;
with StoredProc1 do
begin
Database.DefaultTransaction.StartTransaction;
try
if prepared = false then prepare;
execProc;
Database.DefaultTransaction.Commit;
except showmessage('ups');
Database.DefaultTransaction.Rollback;
raise;
end
end
No es un abrazo mortal, es que mientras estas en una transacción no puedes empezar otra, tienes que terminar la antigua o cancelarla (Commit / Rollback).
Saludos