2012-05-03 167 views
-3

我有一個gridview和sqldatasource綁定數據到gridview。如何檢查插入新值是否已經存在?

  • 我在數據庫中有3列:姓名,年齡,生日。
  • 我有3個文本框和一個按鈕,用於在數據表gridview中添加來自 文本框的值的新行。

當我點擊按鈕添加一個新的行與這些信息,我需要檢查如果是「更名」列中的數據表中已存在「名稱」的文本框中的值是否更新被取消並且用戶被要求輸入另一個值。

+1

需要更多信息,您是否需要檢查數據庫並在插入數據庫之前查看數值是否存在?你在檢查什麼專欄?我們不介意在stackoverflow上閱讀。 – JonH

+0

我很抱歉,請再看看我的問題。已更新 – Alexander

+0

設計合理的數據庫已經爲您處理此問題。您告訴我們的名稱字段應該是唯一的。如果它的唯一(可能主鍵是名稱字段),如果重新插入一條存在的記錄,數據庫系統將向您發出尖叫聲。 – JonH

回答

0

最簡單的解決方案,基於我如何理解你的問題將是在插入之前運行一個快速查詢。

SELECT COUNT(*) FROM tblName WHERE Name = @Name 

而且,如果該值爲零,你有沒有在你的數據庫匹配該名稱。或者,如果您想在選擇時查找匹配名稱的ID,則可能需要設置存儲過程。有初步查詢匹配的名字返回值,並且:IF(@ReturnValue爲空),執行插入,並用

SELECT SCOPE_IDENTITY() 
1

你最好在該列名定義唯一索引返回值表。您可以讓代碼執行而不用檢查名稱是否存在。如果名稱已經存在(它可以捕獲並很好地顯示給用戶),它將返回一個錯誤;如果表中不存在該名稱,則成功。

我不知道你使用了哪個數據庫,但是像這樣的東西應該適用於大多數數據庫。

CREATE UNIQUE INDEX index_name 
ON your_table (name) 
+0

我正在使用Sql數據庫,請問我該如何處理您的代碼?謝謝。 – Alexander

+0

@Alexander直接執行數據庫上的SQL語句。直接使用SQL Server Management Studio或Visual Studio連接到數據庫。 – Icarus

+0

每次添加一個新的行或?時執行統計。對不起,我從來沒有聽說過這個,從來沒有使用過。謝謝 – Alexander

相關問題