[.net][SQL] Table 欄位 ModifyDate 的重要性

程式的操作不外乎就是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的用意

 

現在我明白了。