2012-04-25 89 views
1

如果一個用戶訪問記錄中的10個記錄中的1個表。如果第二位用戶試圖訪問第一位用戶的相同記錄,那麼他不應該顯示該記錄,而應該顯示第二條記錄,並且因爲該第一位用戶將持續記錄一段時間來處理和更新直到那時這個記錄不應該被顯示給任何其他用戶,甚至選擇查詢是從第二個用戶應用程序觸發的。有可能使用Row Lock嗎?請給我提供示例如何實現rowlock和holdlock並釋放使用的row鎖定的鎖定。除此之外,如果您有任何其他建議,請與大家共享防止MS SQL 2005中的多個用戶訪問相同的記錄。

我使用SQLServer2005的與Asp.Net

Babu.M

回答

0

我不知道,如果它被選中的行鎖將停止,但能你不使用審計表?例如,當用戶訪問記錄時將該記錄的ID存儲在審計表中,然後當用戶兩次嘗試使用記錄時,應用程序應檢查該記錄的主鍵是否在審計表中,if如果不是第二個用戶獲得訪問權限,則第二個用戶無法訪問。一旦用戶完成記錄,您可以刪除審計表中的記錄,也可以保留記錄但設置一個標誌以表明它不再被使用,這樣您可以看到誰更改了記錄以及如果您添加日期時間戳,則需要時間。

再次使用select命令時,只要使主鍵在審計表中出現,就不會選擇它。

希望這會有所幫助

相關問題