程式的操作不外乎就是CRUD
而在不同平台上就有不同的操作情況
以前在寫winform時,可能用的人比較少,比較少會有同一個頁面,會有多人同時編輯的可能性。
今天有發生一個問題,情況如下
有兩個使用者 A,B
他們擁有相同權限
在同一個網頁做查詢後,再對同一筆資料進行修改時。
A使用者先儲存了,編輯後的資料。
照這邊的邏輯該筆資料應該要不能再被編輯了(理論上 這時的查詢應該是要查不到)
但情況是B還是在編輯畫面,這種情況該如何解決呢?
結論 :
最後的做法是還好我們有Modify_Date 這個欄位可以去判斷,如果使用者修改了資料就會GetDate()去更新Modify_Date。
所以只要在一開始
1.查詢的時候記錄下Modify_Date
2.在要編輯完資料按下儲存時,再Select一次該筆資料的Modify_Date
3.比對兩次的Modify_Date 是否相同,如果相同代表尚未被修改
4.即可做Update的動作
其實這跟Delete我們會先檢查是否有該筆資料一樣的意思。
但就是...還菜的我,以前真的是不是很確切的知道,紀錄Modify_Date的用意
現在我明白了。