没有重复的数据库莲花笔记

时间:2012-11-26 03:21:05

标签: lotus-notes lotus lotusscript lotus-formula

每个人都很开心。

如果我将其用于更新数据,重新缓存有什么影响? This is what i trying to do, but i need to know what will happen if i replace the no-cache to re-cache

我会解释这个想法, 在这个文本框中,它将调用我的数据库中的最后一位数字并添加1,但我发现这有一个问题,如果使用此表单的多个用户有可能该数字将重复。@If(@IsNewDoc;@Elements(@DbColumn("":"nocache";@DbName;"GPA";1))+1;@Return(GPnum))

我的想法引导我走在这条路上,如果我使用@dblookup来查找我的号码是否有重复但是,我不会通过它。

1 个答案:

答案 0 :(得分:2)

Recache不会帮助您避免重复。

您正在尝试增加Lotus Notes中的计数器,以便为文档创建唯一的顺序标识符。这是许多人已经多次讨论过至少20年的问题。您可以在StackOverflow以及其他各种论坛,博客和文章中找到有用的信息。有效的两种方法是

  • 将最后一个计数器值存储在配置文档中,并使用文档锁定确保您没有两个用户同时访问和更新它。
  • 不要直接在用户代码中设置计数器变量。编写代码以在字段中放置“挂起”值,并依赖仅在一台服务器上运行的计划或触发后台代理来设置最终值。 (由于代理管理器保证一个数据库中一次只能运行一个代理,因此不会产生冲突。)
  • 请勿使用序列计数器作为标识符。请改用@Unique功能。文档将使用唯一代码而不是唯一编号。

请参阅this回答,this回答和this文章。