大侠们好:
        现在我遇到这样一个问题:我做的一张单据的保存功能是先删除表中存在数据,然后再从临时表中插入进去,这样就出现一个问题,一旦保存过程出错数据就丢失了,这张单据存在多人操作的现象,也可能导致数据丢失。请问我该如何保证数据不丢失?

解决方案 »

  1.   

    把数据库连接改为手去提交 ,然后把这两步操作放一个事务里面,一起提交,如果出错就回滚。
      

  2.   

    我还想问一下,像这种情况,保存功能或者修改功能应该用何种方法实现最好?
      

  3.   

    用储存过程实现逻辑,程序调用 ,这种最安全
      

  4.   

    > 我做的一张单据的保存功能是先删除表中存在数据,然后再从临时表中插入进去,这里就存在“设计”不太好的问题。
    要想保证数据不丢,最好的设计是数据永远不删。比如,
    1.在用户提交前,要嘛数据只存在客户端,要嘛只存在临时表内,提交时才保存到正式表。
    2.理论上不要让多人能够同时存取同一张单据;
    3.不用的单据只能作废,不能删除;诸如此类的“设计”能避免数据丢失。