Lotus教程、Java教程、Java虚拟机、Java软件综合开发社区

Lotus、Domino、Java、C#、Web、数据库综合开发教程、资料社区

Lotus生成流水号方法一(CS)|通过Lock来锁定



Published by admin on 05月 31, 2010

Lotus Domino开发中相信普遍会遇到的场景是用户需要提供一定规则的流水号生成.
之前在Lotus论坛的其它帖子中也讨论了一些防止产生重复流水号的方法

之前又有类似的一个需求,想到Domino R6版本开始提供了lock与unlock的方法,就换种方法,用这个来做下. 
比较简单,但也蛮实用的.
通过Document.lock方法生成流水号源码如下
 
Function MakeDesignerSerialID()  

On Error Goto errhandle  
Dim serialnote 
As notesdocument  
Dim index 
As Single  
Const SERIAL_LEN 8  ‘8位  
Const SERIAL_SPACE = ”0000000000″  

Set serialnote = getappprofile(”SerialNo”)  ’
获取设计师流水号的Profile  
If serialnote.Lock() Then    如果当前可以锁定,则计算流水号  
  index 
Val(serialnote.Values(0))  
  
index index+1  
  serialnote
.Values Cstr(index)  
    
  
Call serialnote.Save(False,False)  
  
Call serialnote.UnLock   解锁  
  MakeDesignerSerialID 
Right(SERIAL_SPACE+Cstr(index),SERIAL_LEN)  
Else  
  
MakeDesignerSerialID “Error”  
End If  
Exit Function  
errhandle:  
If 
Cstr(Err)=“4595″ Then  
  Msgbox 
|多人同时请求设计师编号,系统暂时锁定,请稍候再试!|  
Else  
  
Msgbox |error |+Cstr(Error)+| err |+Cstr(Err)+| on |+Cstr(Erl)+| line.|  
End If  
Exit Function  
End Function  
  Lotus生成序列号 Lotus流水号生成
补充一下,数据库属性  允许文档锁定要勾选



【版权说明】:本网页上有部分内容来源于网上收集,但不能保证资料的完整性和准确性,仅提供参考和学习。如有侵权请立即通知我们,我们将立即删除,谢谢合作!

Comments are closed.