OleDbConnection myConnection=new OleDbConnection(conn);
myConnection.Open();
OleDbCommand cmd=myConnection.CreateCommand();
OleDbTransaction myTrans;
myTrans=myConnection.BeginTransaction(IsolationLevel.ReadCommitted);
cmd.Connection=myConnection;
cmd.Transaction=myTrans;
try
{
   sql="delete from PrintDetails";
   cmd.CommandText=sql;
   cmd.ExecuteNonQuery();
   sql="insert into PrintDetails (Area,MakeDate,DeptName,EmployeeID,EmployeeName,FactSalary,Memo) select Area,MakeDate,DeptName,EmployeeID,EmployeeName,FactSalary,Memo from Details where Area='" + this.cboArea.Text + "'";
   cmd.CommandText=sql;
   cmd.ExecuteNonQuery();
   myTrans.Commit();
}
catch (Exception ex)
{
   try
   {
       MessageBox.Show(ex.Message);
       myTrans.Rollback();
    }
    catch (OleDbException oleex)
    {
if (myTrans.Connection !=null)
{
Console.WriteLine("在回滚事务时出现以下错误: " + oleex.Message + "。错误类型:" + oleex.GetType());
}
     }
}
finally
{
     myConnection.Close();
}