多用户同时保存问题(80)

  • 主题发起人 主题发起人 leader47
  • 开始时间 开始时间
L

leader47

Unregistered / Unconfirmed
GUEST, unregistred user!
用户A 和B 同时新建一个单,同时产生单号 01。这种情况,怎样做,A 和 B 各自能正确保存自己的记录,互相不影响。大家是怎样实现的?
 
加一个序列,单号根据序列产生,在before insert for each row 时给单号复值,这样就可以避免重复了
 
或者在OnBeforePost事件中,重新生成该单号。
 
保存前先查询判断单号可有存在~~
 
触发器里更新单号,单号用序列生成
 
在保存时,如果发现有此单号,当然是新增了,不然会把别人纪录覆盖掉~~
 
问题是,在保存时,如果发现有此单号,是新增还是修改记录?是怎样知道要保存的这条记录是新增保存还是修改保存?
 
procedure TForm1.Table1BeforePost(DataSet: TDataSet);begin if DataSet.State=dsEdit then exit;//如果是编辑状态则直接退出 下面重新生成号码end;
 
建议在建立新单的同时就创建一个对应的ID号,并插入到表中,保存时只要更新其它字段就可以了,如果放弃保存怎删除那条记录
 
很简单啊 在保存的时候先搜索下你的单号是否存在,如果存在就重新分配。(当然是指在新增的情况下,编辑的时候不需要)
 
多人接受答案了。
 
后退
顶部