To use transactions also use buffering. You want to do all the INSERTs before you begin the transaction. Then in the transaction you simply issue the TableUpdate() calls for every table involved. If one of the updates fails you Rollback if they all succeed you endtransaction.