首页 > 解决方案 > 为什么vb停止执行一些代码并跳过它

问题描述

我在 vb.net 上创建了一个登录表单并将其连接到 ms access 数据库。连接成功,但是当我尝试使用在 ms access 上创建的 id 和密码登录时,它失败了。我已经用 step into 来测试它,所以我可以知道它为什么会出错。

我正在使用 Visual Studio 2010 和 MS Access 2013。

这是我的登录表单代码:

Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ok.Click
        Try
            userss = user.Text
            Query = "Select * FROM user WHERE users = '" & userss & "' AND password = '" & pass.Text & "'"
            daData = New OleDbDataAdapter(Query, conn)
            dsData = New DataSet
            daData.Fill(dsData) '**LAST EXECUTE CODE**
            If dsData.Tables(0).Rows.Count = 0 Then '**VB DONT EXECUTE** 
                If mCount < 3 Then
                    MsgBox("Wrong Username or Password", MsgBoxStyle.Critical + MsgBoxStyle.OkCancel, "Message")
                    user.Focus()
                    mCount = mCount + 1
                    Me.pass.Text = ""
                Else
                    MsgBox("Login Failed", MsgBoxStyle.Critical + MsgBoxStyle.OkCancel, "Message")
                    End
                End If
            Else
                If (dsData.Tables(0).Rows(0).Item(4) = 1) Then
                    dsData.Dispose()
                    dsData.Reset()
                    daData.Dispose()
                    Me.Hide()
                    Main.Show()
                Else
                    MsgBox("Login Failed", MsgBoxStyle.Critical + MsgBoxStyle.OkCancel, "Message")
                End If
            End If
        Catch ex As Exception
            MsgBox("Database Connection Failed!", MsgBoxStyle.Critical + MsgBoxStyle.OkCancel, "Message") '**AND DIRECTLY EXECUTE HERE**
        End Try
    End Sub

标签: databasevb.netms-accesslogin

解决方案


密码是保留字,所以需要括号:

Query = "Select * FROM user WHERE users = '" & userss & "' AND [password] = '" & pass.Text & "'"

旁注:您对用户的单数和复数的使用非常令人困惑。


推荐阅读