以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]并发冲突问题-上了例子  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=41252)

--  作者:loongtai
--  发布时间:2013/10/15 10:18:00
--  [求助]并发冲突问题-上了例子
<物料类别表>----用户A可以编辑
<物料参数表>----用户B可以编辑
其中<物料参数表>的[物料类别]列的列表项目是取值于<物料类别表>中的[分类代码]列。
<物料类别表>中的记录删除条件:<物料参数表>中无记录引用此行数据,则可删除,否则不允许删除。
假设场景:
A正在编辑<物料类别表>,正要删除分类代码:1405005的记录;而此时B也正在编辑<物料参数表>,新增1405005这行记录。
由于A在执行删除操作时,B并未将此条记录加入,所以此时<物料参数表>中是不含1405005这条记录的,符合删除条件,因此A可以执行删除操作,当A删除后进行保存,此时<物料类别表>中不再含1405005的分类代码。而B在添加1405005这条分类代码时,由于A虽执行删除操作,但还未保存,因此<物料类别表>中此时还是有1405005这条记录,因此B也可以顺利添加。当B保存后<物料参数表>中存在分类代码为1405005这条记录。这就产生了一个冲突的问题:<物料分类表>中不含1405005,而<物料参数表>中却含有1405005。不知狐表对这种情况是如何处理的?是不是当A操作<物料分类表>了,则其它与此表相关的任何表都不允许再编辑了;当B操作<物料参数表>了,则其它与此表相关的任何表都不允许再编辑。如果这样处理,好像冲突的几率应该挺大的。不知有没有更好的解决办法。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:并发冲突问题例子.zip


[此贴子已经被作者于2013-10-18 17:16:12编辑过]

--  作者:Bin
--  发布时间:2013/10/15 10:52:00
--  
这种问题,最好有个例子.