進入我開發一個.aspx頁面中有如下的設計重複記錄沒有在數據庫表
Firstname
Lastname
Address
City
Mobile
這表示與標籤和文本框的用戶。
當用戶單擊保存按鈕時,數據保存在SQL Server 2008 Express數據庫表中。
表有以下模式
RecordNo-int(PK)
Firstname-nvarchar(50)
Lastname-nvarchar(50)
Address-nvarchar(500)
City-nvarchar(50)
Mobile-nvarchar(12)
在頁面加載的時間,我也顯示recordno用戶。
該記錄號是根據表中有多少條記錄生成的。
我得到的記錄數,只是增加1,並把它對RecordNo。
現在,如果這是發生在一臺PC上,它工作正常。
第一個入口將用RecordNo 1表示
等等。
但是,如果沒有在表中沒有記錄,並在同一個頁面是由4個不同的用戶在同一時間打開,那麼一切都將
與RecordNo 1
,然後表示,首先點擊保存按鈕的用戶將能夠完美保存數據。
但是其他三個用戶會遇到錯誤,因爲他們正在輸入已經輸入的RecordNo 1的信息。
我該如何克服這個問題?
每個新條目都應該賦予新的唯一RecordNo。
有什麼辦法可以做到這一點?
但如果我不想使用的身份?還有其他解決方案嗎?我需要在輸入時顯示RecordNo。 – Hemal
在SQL 2008上,你也可以使用SEQUENCE。你也可以編寫你自己的存儲過程(有幾個)鎖定表並停止生成相同的數字。但是您應該考慮用戶看到數據庫特定代碼的重要性 - 通常這對用戶來說不感興趣。 –
如果你的意思是在輸入的時候,然後開始插入你使用SCOPE_IDENTITY捕獲新的身份值的記錄 –