以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]并发问题  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=53237)

--  作者:蝙蝠侠K02
--  发布时间:2014/7/3 11:04:00
--  [求助]并发问题
         有一单据需要有编号,采用顺序号。通过窗口增加单据,打开窗口后,通过AfterLoad在table“单据表”
新增一行,在表事件DataRowAdding通过代码生成单据的顺序号,然后编辑单据。在这一个单据编辑的同时,其他用户登陆也新增一个单据,形成一个新的顺序号。
     在这种情况下取消第一个单据,照成了顺序号的缺失。
     请问,在并发环境下,怎样保证单据顺序号连续?

--  作者:有点甜
--  发布时间:2014/7/3 11:06:00
--  
以下是引用蝙蝠侠K02在2014-7-3 11:04:00的发言:
         有一单据需要有编号,采用顺序号。通过窗口增加单据,打开窗口后,通过AfterLoad在table“单据表”
新增一行,在表事件DataRowAdding通过代码生成单据的顺序号,然后编辑单据。在这一个单据编辑的同时,其他用户登陆也新增一个单据,形成一个新的顺序号。
     在这种情况下取消第一个单据,照成了顺序号的缺失。
     请问,在并发环境下,怎样保证单据顺序号连续?

 

那就不允许删除那一行,可以用一个标志列,或者备注列,写入,是废单。

 

无法保证顺序号的连续,特别是有删除的情况。


--  作者:Bin
--  发布时间:2014/7/3 11:06:00
--  
http://www.foxtable.com/help/topics/1994.htm
--  作者:蝙蝠侠K02
--  发布时间:2014/7/3 11:08:00
--  
   好的,明白了,只能做废单处理