如何解决登录表单中的语句

问题描述 投票:0回答:1

[只要我轻触未注册到数据库的RFID,它都不会显示msgbox。我使用else使用一些条件语句,但它也不起作用。我尝试了不等于运算符,但也不起作用

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    process1:
    Try

        rec = New ADODB.Recordset
        rec.Open("SELECT * from admin where rfid='" & TextBox4.Text & "'", con, 1, 2)

        Dim y As Integer
        y = 0

        While Not rec.EOF

            rec.MoveNext()
            y = y + 1

        End While

        If y = 1 Then
                Timer1.Stop()
                Me.Hide()
                MsgBox("VALID RFID! WELCOME ADMIN!")
                SystemForm.Show()
                TextBox4.Text = ""

            If y <> 1 Then

                Timer1.Stop()
                MsgBox("Invalid RFID NO.!")
                TextBox4.Text = ""

            End If

        End If


    Catch ex As Exception
        Timer1.Stop()
        MsgBox("Invalid RFID NO.!")
        TextBox4.Text = ""
    End Try

End Sub
vb.net visual-studio-2010
1个回答
0
投票

我认为else对您来说是最好的情况。我还从条件中移出了一些共享逻辑:

Timer1.Stop()

If y = 1 Then
    Me.Hide()
    MsgBox("VALID RFID! WELCOME ADMIN!")
    SystemForm.Show()
Else
    Timer1.Stop()
    MsgBox("Invalid RFID NO.!")
End If

TextBox4.Text = ""

从长远来看,我还将进行很多其他更改,包括对您的查询使用SELECT COUNT(rfid),它将始终返回一个数字,并且通常实际上与ADODB背道而驰,但是以上应该可能会得到您想要的。

© www.soinside.com 2019 - 2024. All rights reserved.