我对下面两步进行操作。
第一步,对A表进行数据更新。
第二步,对B表进行数据插入。
假如A表更新是正常的。但是B表插入有问题。
我如何把A表的内容跟更新前的保持一样。

解决方案 »

  1.   

    使用事务,TransactionOracleTransaction transaction = conn.BeginTransaction(IsolationLevel.ReadCommitted);
      

  2.   

    你在保存A前启用事务,在保存了B之后再进行提交事务
    在这个过程中如果发现有错
    刚rollback using (SqlConnection conn = Shared.GetSystemSqlConnection())
                        {
                            SqlTransaction tran = null;
                            SqlCommand cmd = null;                        try
                            {
                                conn.Open();
                                tran = conn.BeginTransaction(IsolationLevel.ReadCommitted);
                                cmd = conn.CreateCommand();
                                cmd.CommandTimeout = 0;
                                cmd.Transaction = tran;
                                cmd.CommandText = commandText;                            cmd.ExecuteNonQuery();
    tran.Commit();
                            }
                            catch
                            {
                                tran.Rollback();                            conn.Close();
                            }
                        }