這是查到的結果:12日王艷賀錄了兩遍,太壞了,占公家便宜

我的資料表:

如題,怎么限制她?
uj5u.com熱心網友回復:
你到天天ASP家園求寫代碼吧uj5u.com熱心網友回復:
select * FROM jb where dat = '" & dat & "' and nam = '" & nam & "'
If rs.EOF Then '如果記錄不存在 則插入
rs("dat") = dat
rs("nam") = nam
.....
Else
...... '如果記錄存在的動作
End If
uj5u.com熱心網友回復:
樓上的說法是正確的uj5u.com熱心網友回復:
插入前判斷是否錄過就行了uj5u.com熱心網友回復:
明白了,感謝感謝!uj5u.com熱心網友回復:
毫無軟用的,并發狀態下,根本不會執行判斷,這種判斷只是正常情況下有用
對資料庫執行悲觀鎖,post是加入臨時token驗證都可以防治這種多資料庫加入
uj5u.com熱心網友回復:
我覺得你不應該用姓名做標識,畢竟不排除一個公司有同名員工。uj5u.com熱心網友回復:
給你頂下,結貼給分吧
uj5u.com熱心網友回復:
1. 加班表應新增一個欄位UniqueCode, 值為員工號+DateTime生成一個當日某員工的唯一碼2. 給該欄位添加唯一索引
這樣,可以粗暴解決你的問題。同個員工,同一天,只能添加一條資料,其它都為無效插入,SQL會幫你處理掉。
uj5u.com熱心網友回復:
你這不應該限制她錄兩遍,因為人家是不同時間段的,只是這個時間段有一部分重合,要么你程式后期加工資料去重,計算出完整的時間,要么在錄入的時候處理下把第二條資料的起始時間15:00修改成20:00,并且提示用戶因為重合被修改了的。uj5u.com熱心網友回復:
這個其實是策略問題:1、在錄入時,插入資料時,執行檢查。
2、如果同一姓名,有記錄,則執行:
3、如果現在錄入的時間點,與之前的時間點有交叉,則無法錄入,提示:時間重復。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/132303.html
標籤:ASP
