帮忙!如何用程序控制并发读取表的记录???
数据库中有表 A:(code,amount,Status)
A表中有一系列记录
客户端中需要从该表依次取A表的一条记录来使用,取Code和Amount值,然后在客户端进行其他的操作,提交成功后则将A的状态更新为"DONE".
但若其它的客户端读取了A的一条记录后,其他的客户端则只能读取下一个状态不为“DONE"的记录来获取Code和amount值..
A表中初始所有的记录状态都为“NEW”,客户端使用一个记录后就将该记录的状态置为“DONE”.
我目前的一个方法是 :客户端窗体启动后,读取一个记录后,就将该记录的状态同时置为'LOCKED',客户端窗体中的操作完成后,将该记录的状态置为“DONE”。
这样,其他客户端读取的时候,只读取状态为“NEW”的未使用的记录来使用即可.
这样出现的一个问题是,当客户端获取了记录并将状态置为‘LOCKED’后,操作没有成功,或者客户端死机,断电,则该记录在数据库中一直是LOCKED的,其他的客户端读的时候也读不到该记录。
但该记录确实还没有被使用。
想问一下大家这样的情况如何处理???