簡體   English   中英

從C#添加記錄到訪問數據庫

[英]Adding a record to access database from C#

我在C#中有一個Form Windows程序,它將記錄添加到數據庫並可以將其刪除。

在數據庫中我有ID(這是自動編號),但如果我刪除一個記錄,如果我想添加另一個記錄,自動編號增加,不添加缺少的數字。

我的意思是,如果我的Access數據庫中有9條記錄,我想刪除一條記錄,它將是8,但是當我添加一條新記錄時,我得到的是10而不是9.像這張圖片:

在此輸入圖像描述

那有什么解決方案嗎?

如果它是一個自動編號,則數據庫將生成一個大於上一個使用的數字 - 這就是關系數據庫的工作方式。 為什么會有這個解決方案? 想象一下,刪除5,你想要做什么,讓自動編號創建下一條記錄為5? 如果你在C#app中顯示一個id - 壞主意 - 那么把它改成你可以控制的其他值。

然而,你想要實現的目標沒有意義。

如果我刪除一條記錄,如果我想添加另一條記錄,則自動編號會增加並且不會添加缺少的數字。

[...]

那有什么解決方案嗎?

最簡潔的答案是不”。 使用后,即使已刪除的記錄在表中具有最大的自動編號值,通常也不會重復使用自動編號值。 這是因為(至少在某種程度上)Jet / Ace數據庫引擎必須能夠在多用戶環境中管理自動編號值。

(上述規則的一個例外是,如果壓縮Access數據庫,則具有順序自動編號字段的表的下一個可用自動編號值將重置為Max(current_value)+1。)

有關自動編號字段如何工作的更多詳細信息,請參閱此處的其他答案。

在MS訪問中,沒有任何解決方案。 但是在sql server的情況下,您可以使用Identity列創建自己的函數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM