1樓:匿名使用者
要實現這個我現在想到的有2種方法:
通過delphi控制
通過sqlserver控制
下面一個一個說:
1: 在插入之前首先查詢, 查詢當天的記錄, 如果存在則退出過程[或者詢問使用者是否修改]
2:通過資料庫觸發器控制
if object_id('tr_stop_insert_on_today') is not null --觸發器名稱
drop trigger tr_stop_insert_on_today
gocreate trigger tr_stop_insert_on_today
on tb1
for insert
with encryption
asdeclare @i_rec int
--獲取插入之後的當天記錄條數 存入@i_rec int, 大於1則報錯, 並阻止插入
select @i_rec = count(*) from tb1 where convert(nvarchar(10), date_type_field, 120) = convert(nvarchar(10), getdate(), 120)
group by convert(nvarchar(10), date_type_field, 120)
if @i_rec > 1
begin
raiserror('存在當天記錄, 請勿插入重複記錄[已阻止]', 16, 1)
rollback tran
end純手打望採納!
2樓:眾口說車
再開一個table 或query
把當前日期做為引數查詢,如果查詢結果》1就禁止增加,改為搜尋定位再編輯。。
delphi中插入資料到資料庫但是不能重複的語句
3樓:匿名使用者
方法很多,一種是在資料庫裡,把你的loginname設定為不重複的索引,或者設定為主鍵,這樣插入相同值的時候就會出錯。或者改你的上面的程式,在插入之前先檢查select count(*) from users where loginname=sname的結果,如果為0再執行上面的insert
delphi怎麼向access資料庫中新增資料時,不能有重複.我用的是adoquery
4樓:
插入記錄前你可以先判斷一下,資料庫中是不是已經存在該條記錄。
用一個adoquery查詢一下,
查詢記錄條數如果大於等於1就說明存在,如果為0就表示不存在。
5樓:匿名使用者
你有設定主鍵的話,重複應該會報錯吧。
你可以用另外的adoquery 查詢一下資料是否存在。如果存在就提示。
6樓:匿名使用者
在access中對錶的欄位進行設定,對不允許重複的欄位進行欄位屬性設定為「索引」-「有(無重複)」即可;此時當你插入的記錄當前欄位值重複時會報錯阻止插入;
delphi程式設計如何控制資料庫關鍵字的重複輸入
資料庫如何備份,如何備份資料庫
1 首先執行sql。2 將資料庫進行連線。3 單擊 伺服器物件 在 伺服器物件 中右鍵單擊 備份裝置 選擇 新建備份裝置 4 在裝置名稱文字框輸入你要建立的裝置名稱,然後單擊 確定 5 這樣備份裝置的建立就完成了。6 右鍵單擊要備份的資料庫,選擇 任務 在 任務 中選擇 備份 7 單擊 新增 選中 ...
jsp向mysql資料庫新增資料
你的txt表結構是什麼樣的,password欄位是什麼型別?insert into txt name,password values 252 262 這句sql直接在mysql裡執行能否正常寫入?看你的txt表中的password欄位是什麼格式的,如果是char的或者是varchar的這句應該這樣寫...
請教,VS如何不能新增 mdf資料庫檔案
安裝下sql server 2008 r2 的sp補丁包試下。你是在vs裡新增mdf檔案?mdf是資料庫檔案,不是 連這個都不懂,不知道如何給你解釋。在vs2010新增基於服務的資料庫,嵌入mdf檔案,新增不了怎麼回事,報錯如下圖 10 在 伺服器資源管理器 上,點選連線到資料庫。再試試看。vs20...