【问题标题】:How to check the exist value如何检查存在值
【发布时间】:2013-07-09 13:11:54
【问题描述】:

使用 VB.Net 和 Sql Server

我想检查用户输入值。

用户在文本框中输入代码,在保存到表格之前,我想检查表格中是否已经存在代码。

尝试过的代码

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

       End While

如果值存在,则向用户发送消息“已经存在”,否则保存到表中。

需要 Vb.net 代码帮助

【问题讨论】:

    标签: vb.net


    【解决方案1】:

    改为使用 SELECT COUNT,然后检查它是否大于零:

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

    【讨论】:

    • 如果表数很大,可能会很慢。您可以通过使用SELECT top 1 * from table where code = '" & textbox1.Text & "' " 来解决此问题,然后检查记录数是否大于 0(或 == 1)。
    【解决方案2】:

    将代码设为主键,因为您希望它是唯一的

    如果用户在code中输入的值已经存在于表中,则会抛出VIOLATION of primary key sql异常

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-01-19
      • 2011-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多