"Record already locked by this session"异常的复现,原因.求解决方案
子正 2008-06-28 10:54:11 描述一下软件的异常情况:
有两个Form,同时对一个数据库进行操作.使用过程中发现,在两个Form之间进行切换,并对数据表有修改和新增操作的时候,间或会出现一个异常.
这个异常,如果不在编译环境中,仅仅会弹出一个EAccessInValid异常.
平均每两三天出现一次.
今天第一次在编译环境中出现了这个异常.提示信息是 "Record already locked by this session"
网络上查了一下,了解了一些相关信息.下面先复现这个异常.
1.准备一个Form,两个DBGrid,两个TTable指向同一个数据表
2.在第一个DBGrid中对某一行的数据进行修改,然后对第二个DBGrid中的任一行数据进行修改.(注意第一个DBGrid修改后,不要在其他行上点击鼠标)
3.异常出现
原因:
当对第一个DBGrid修改后,因为没有在其他行上点击鼠标,此时,TTable处于更新未提交状态.TTable的内部逻辑部分有加锁的操作.
此时对第二个DBGrid进行修改,因为上一次的修改还未提交.所以,出现异常.
解决方案...............<无>
问题: 1.如何获取当前处于未提交状态.