日期:2014-05-18  浏览次数:20832 次

[数据库]并发状态下的数据排序问题.
数据库有一个表table,用来存储单据的明细项目,表中有个rowrank列,存储该条数据在单据中显示时的具体位置,如某单据有10条数据,如rowrank为3,则该条记录是显示为第三条记录.table表中可以存储多份单据.单据号及rowrank列是组合主键.

问题描述:数据源是自动配置的强DATASET,在多用户状态下,如何处理rowrank列的值发生冲突的情况.如两个用户同时提取了这份单据,并且都添加或插入了新行,应当如何处理rowrank值.


------解决方案--------------------
在提交数据时检查当前rowrank值是否已存在
如果已存在,自动生成新的rowrank值,然后重新提交数据,并通知用户
------解决方案--------------------
这个和更新数据是一个道理的,在提交后生效,并且在更新数据之前,需要判断原始的数据和现有数据库中的数据是否一致.不一致,是不能提交的.
这些dataset好像自己本身就支持的.