事务的有关问题?循环操作的过程中,网络断了,怎么恢复到循环开始的状态

事务的问题?循环操作的过程中,网络断了,如何恢复到循环开始的状态?
请问:50条循环当循环到第20条时,网络断了,没法操作了,请问如何恢复到循环开始的数据库状态?
50条循环要么全部操作正确(向不同数据表中对应加记录),要么一条也操作不上,用事务回滚怎么写?谢谢!

------解决方案--------------------
伪代码:
C/C++ code
    BeginTrans();
    try
    {
        // 进行数据库操作

        // 最后
        CommitTrans();
    }
    catch(...)
    {
        RollbackTrans();
    }