如何讓delphi資料庫不新增重複的記錄

2022-08-12 03:35:16 字數 1572 閱讀 5781

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...