当点击Submit按钮触发事件后,会将一些数据插入数据库中,如何通过点击Cancel按钮取消事件并且回到触发事件之前的状态呢????

解决方案 »

  1.   

    可能我还没有说明白,我的数据量很大,然后就会需要很长的时间,程序一直停在那里执行,如果用户不想等待的话点击Cancel取消,如何将这个进程终止呢?这个应该涉及到多线程吧?可是我对多线程不了解,也不熟悉,望指点,谢谢
      

  2.   

    感觉是设计的问题,
    既然提交的数据量大到有可能会让客户等不及,
    何不把数据分批次提交呢?顺便再告诉你,
    WEBFORM是不状态的,
    一旦提交就不能撤销.那些所谓能做到撤销的,
    都不是真正的撤销,
    而是分解步骤,
    在提交前都可以放弃,
    直到最后一步才真正提交.
      

  3.   

    WEBFORM是不状态的,==>>WEBFORM是无状态的,
      

  4.   

    用事务就可以了。
    //执行事务处理
    public void DoTran()
    {  //建立连接并打开
     SqlConnection myConn=GetConn();
     myConn.Open();
     SqlCommand myComm=new SqlCommand();
     //SqlTransaction myTran=new SqlTransaction();
     //注意,SqlTransaction类无公开的构造函数
     SqlTransaction myTran;
     //创建一个事务
     myTran=myConn.BeginTransaction();
     try
     {
      //从此开始,基于该连接的数据操作都被认为是事务的一部分
      //下面绑定连接和事务对象
      myComm.Connection=myConn;
      myComm.Transaction=myTran; //定位到pubs数据库
      myComm.CommandText="USE pubs";
      myComm.ExecuteNonQuery();//操作1
      myComm.CommandText=""; //操作2
      myComm.ExecuteNonQuery();
       //提交事务
      myTran.Commit();
     }
     catch(Exception err)
     {
      myTran.rollback();
      throw new ApplicationException("事务操作出错,系统信息:"+err.Message);
      }
     finally
     {
      myConn.Close();
      }
    }
      

  5.   


    但是Cancel按钮如何去中止,一直在执行Submit的内容过程中。