2011-09-29 63 views
0

使用VB.Net和Sql服務器如何檢查存在的值

我想檢查用戶Entry值。

用戶在保存到表格之前在文本框中輸入代碼,我想檢查表格中是否存在代碼。

試過代碼

cmd = New SqlCommand("Select code from table where code = '" & textbox1.Text & "' ", Con) 
     dr = cmd.ExecuteReader() 
     While dr.Read() 

     End While 

如果值是存在,則消息給用戶「已經存在」其他明智保存到表中。

需要Vb.net代碼幫助

回答

2

使用SELECT COUNT代替,然後檢查是否有大於0:

cmd = New SqlCommand("SELECT COUNT(*) from table where code = '" & textbox1.Text & "' ", con) 
Dim NumRecords as Int32 = cmd.ExecuteScalar 
IF NumRecords > 0 THEN... 
+0

大表的數量可能會很慢。你可以通過使用'SELECT top 1 * from table where code ='「&textbox1.Text&」'「'來解決這個問題,然後檢查記錄數是否大於0(或== 1)。 – Squid

0

使代碼作爲主鍵,因爲你希望它是唯一

如果用戶在代碼中輸入的值已經存在於表中,則會拋出主鍵sql異常的違規

捕獲該異常並顯示一條警告消息!