2012-11-26 94 views
1

好日子每一个。数据库莲花笔记不重复

如果我使用它来更新数据,重新缓存的效果是什么? 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来查找数字是否有重复,但是我不会让它通过。

回答

2

Recache不会帮助您避免重复。

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

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

请参阅this答案,this答案,this文章。