Più o meno funziona così:

Inizio transazione
-----
-----
-----
Modifiche,
-----
Inserimenti,
-----
Cancellazioni
-----
-----
-----
Fine transazione

Io ho utilizzato questo metodo con gli ADO (connessione.begintrans=inizio transazione - connessione.committrans=fine transazione - connessione.rollbacktrans=interruzione della transazione);

Il rollbacktrans è molto utile nel caso in cui una operazione all'interno della transazione non andasse a buon fine ..... lui ti riporta allo stato in cui ti trovavi prima dell'inizio della transazione ....