2011-09-29 39 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异常的违规

捕获该异常并显示一条警告消息!