(左边这段代码的两个事务是单独的事务,没有被另一个大的事务包裹) (会引发错误的代码)
左右两段代码仅仅是事务提交的方式不同,
这两段代码顺序执行都不会引起任何错误,但是ctrl+u回滚操作时候右边却会引起 !dbenti.cpp@3310: eWasErased 错误,
右图代码引起错误的原因是:
ctrl+u 撤回操作会根据事务进行回滚,如果一起回滚,那么回滚的时候会先按照处理的图元回滚图层,但是此时因为图层的删除还没有恢复,缺少图层的记录,
处理方式如左图代码:
要将他们分层两个事务,回滚操作就会先恢复图层,再进行回滚图元的修改.
我不知道你们是否有其他处理的方法?可以留言告诉我.
你们是否有在其他地方遇到相同的错误?