我需要一種替代方法來防止某人訪問特定的一段代碼。Progress OpenEdge如何防止某人更新記錄
我會解釋一下這個場景。
有兩個程序。
在第一個程序中,最終用戶創建了形式發票。然後他/她查看發票上的詳細信息。代碼在EXCLUSIVE-LOCK中顯示主表記錄的詳細信息。這是爲了防止其他最終用戶在第一個用戶忙於查看詳細信息時進行更改。所以即使形式發票已經完成並且不能再改變。主表的記錄仍然在EXCLUSIVE-LOCK中。這是錯誤的,但它可以防止其他用戶在第一個用戶仍在忙於更新時弄亂它。然而,在這個計劃中工作的人在詳細視圖中離開程序。他們不出去。
問題是當第二個程序用於分發形式發票上的項目時。它使用相同的主表記錄。因此無法做任何事情,因爲第一個程序仍然在EXCLUSIVE-LOCK中。
我的問題是...
如何防止用戶在第一個程序更改數據,如果主表中的記錄是在專用鎖,但實際上不讓它在專用鎖?在多個會話...
喜歡它。不幸的是,我嘗試了這一點,並與我的老闆解決上述問題他對兩個都說不。無論如何,我都從中學習,所以謝謝大家。 – Ivan
那麼,你的老闆的要求是什麼?這是另一種可能性:爲保持記錄鎖定的程序添加一個自動超時。如果(例如)30分鐘沒有活動,它可以退出。如果你真的想要看起來很棒,它甚至可以保存所做的任何更改 - 無論是表格本身還是單獨的跟蹤表格。如果有問題,可能有解決辦法;困難的部分有時會問正確的問題。 –
他希望它保持原樣。畢竟,我只需確保在程序中被阻止的所有內容都按下ctrl-c後即可撤銷。我做到了。 – Ivan