我有一個gridview和sqldatasource綁定數據到gridview。如何檢查插入新值是否已經存在?
- 我在數據庫中有3列:姓名,年齡,生日。
- 我有3個文本框和一個按鈕,用於在數據表gridview中添加來自 文本框的值的新行。
當我點擊按鈕添加一個新的行與這些信息,我需要檢查如果是「更名」列中的數據表中已存在「名稱」的文本框中的值是否更新被取消並且用戶被要求輸入另一個值。
我有一個gridview和sqldatasource綁定數據到gridview。如何檢查插入新值是否已經存在?
當我點擊按鈕添加一個新的行與這些信息,我需要檢查如果是「更名」列中的數據表中已存在「名稱」的文本框中的值是否更新被取消並且用戶被要求輸入另一個值。
最簡單的解決方案,基於我如何理解你的問題將是在插入之前運行一個快速查詢。
SELECT COUNT(*) FROM tblName WHERE Name = @Name
而且,如果該值爲零,你有沒有在你的數據庫匹配該名稱。或者,如果您想在選擇時查找匹配名稱的ID,則可能需要設置存儲過程。有初步查詢匹配的名字返回值,並且:IF(@ReturnValue爲空),執行插入,並用
SELECT SCOPE_IDENTITY()
你最好在該列名定義唯一索引返回值表。您可以讓代碼執行而不用檢查名稱是否存在。如果名稱已經存在(它可以捕獲並很好地顯示給用戶),它將返回一個錯誤;如果表中不存在該名稱,則成功。
我不知道你使用了哪個數據庫,但是像這樣的東西應該適用於大多數數據庫。
CREATE UNIQUE INDEX index_name
ON your_table (name)
需要更多信息,您是否需要檢查數據庫並在插入數據庫之前查看數值是否存在?你在檢查什麼專欄?我們不介意在stackoverflow上閱讀。 – JonH
我很抱歉,請再看看我的問題。已更新 – Alexander
設計合理的數據庫已經爲您處理此問題。您告訴我們的名稱字段應該是唯一的。如果它的唯一(可能主鍵是名稱字段),如果重新插入一條存在的記錄,數據庫系統將向您發出尖叫聲。 – JonH