Hola Juan...
Como no especificas que DB utilizas... no se cómo ayudarte.
No obstante, como yo utilizo Firebird hago lo siguiente:
for i := 0 to pFIBDatabase1.TransactionCount - 1 do
if pFIBDatabase1.Transactions[i].InTransaction then
pFIBDatabase1.Transactions[i].Rollback;
pFIBDatabase1.CloseDataSets;
pFIBDatabase1.Close;
Antes de cerrar la DB si alguna transaccion quedo abierta hago el rollback.
Espero te sirva como punto de partida
Saludos
|