2012-11-26 146 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文章。