请教一个问题,
    往一个表里循环添加数据,在UI层如何做到像事务一样,当循环出现异常,就回滚,如果全部通过,就提交

解决方案 »

  1.   


    public bool Insert_DamageCargo()
      {
      SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["con"].ToString());
      SqlCommand command = new SqlCommand();
      try
      {
      conn.Open();
      SqlTransaction tran = conn.BeginTransaction();
      command.Transaction = tran;
      command.Connection = conn;
      try
      {
      command.CommandText = "插入第一个表";
      command.ExecuteNonQuery();
      command.CommandText = "插入第二个表";
      command.ExecuteNonQuery();
      command.CommandText = "插入第三个表";
      command.ExecuteNonQuery();
      tran.Commit();
      return true;
      }
      catch
      {
      tran.Rollback();
      return false;
      }
      }
      catch
      {
      return false;
      }
      finally
      {
      conn.Close();
      }
      } 
      

  2.   

    创建临时的,通过后,copy到目标位置