如果用户名和密码正确插入,我已经创建了一个显示正确消息的代码。用户的用户名和密码是从数据库表中提取的。但是我总是收到这样的消息,用户名和密码不正确。我不知道为什么这是我的代码

Private Sub Button2_Click(ByVal发送者为System.Object,ByVal e为System.EventArgs)处理btnLogIn.Click
        MySqlConn =新的MySqlConnection

    MySqlConn.ConnectionString = "server=localhost;userid=root;password=12345;database=environment"

    Dim READER As MySqlDataReader



    Try
        MySqlConn.Open()
        Dim Query As String
        Query = "select * from environment.customers where customer_name='" & txtUser.Text & "'and customer_detail='" & txtPass.Text & " '"

        COMMAND = New MySqlCommand(Query, MySqlConn)
        READER = COMMAND.ExecuteReader

        Dim count As Integer
        count = 0
        While READER.Read
            count = count + 1

        End While

        If count = 1 Then
            MessageBox.Show("username and password are correct")
        ElseIf count > 1 Then
            MessageBox.Show("username and password are duplicate")
        Else
            MessageBox.Show("username and password are incorrect")

        End If



        MySqlConn.Close()

    Catch ex As MySqlException
        MessageBox.Show(ex.Message)

    Finally
        MySqlConn.Dispose()


    End Try
End Sub


末级

最佳答案

在您的代码中尝试一下。

  #Region "Members"
    Protected WithEvents lblMessage As System.Web.UI.WebControls.Label
    #End Region

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click MySqlConn = New MySqlConnection
If Not IsPostBack Then
    If Not IsNothing(txtUser.text) Then 'Replace this field with your own field name.
        If Not IsNothing(txtPass.text) Then 'Replace this field with your own field name.
            Login() 'If both login form is not empty, execute login function
        Else
            LabelMessage.Text("Please enter your password.") 'If password field is empty
            LabelMessage.Visible = True
            Exit Sub
        EndIf
    ElseIf IsNothing(txtUser.text) AND IsNothing(txtPass.text)Then
        LabelMessage.Text("Please enter your username and password.") 'If both field are empty
        LabelMessage.Visible = True
        Exit Sub
    Else
        LabelMessage.Text("Please enter your username.") 'If username field are empty
        LabelMessage.Visible = True
        Exit Sub
    EndIf
EndIf
End Sub

Private Sub Login()

Dim conn As New SqlConnection
Dim command As New SqlCommand
Dim Password As String
Dim Password2 As String
Dim Username As String

Try
    conn.ConnectionString = "server=localhost;userid=root;password=12345;database=environment" 'Your SQL Database credentials
    conn.Open() 'Open the connection
    command.Connection = con

    command.CommandText = "SELECT customer_name, customer_details FROM environment.customers WHERE (customer_name = '" & txtUser.text & "') AND (Password='" & txtPass.text & "')"

    Dim lrd As SqlDataReader = command.ExecuteReader()
    If lrd.HasRows Then
        While lrd.Read()
            Username = lrd("customer_name").ToString()
            Password = lrt("Password").ToString()
            Password2 = txtPass.txt()


            If Password = Password2 and Username = txtUser.text Then
                MessageBox.Show("Logged in successfully as " & Username, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
                frmMain.Show()
                Me.Hide()
                Response.Redirect("~/Index.aspx") 'Redirect to your homepage.

                'Clear the login field
                txtPassword.Text = ""
                txtUsername.Text = ""

            End If

        End While

    Else
        MessageBox.Show("Username and Password does not match.", "Authentication Failure", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)

        'Clear the login Field
        txtPassword.Text = ""
        txtUsername.Text = ""

    EndIf

Catch ex As Exception
    Messagebox.Show("Error while connecting to SQL Server." & ex.Message)
Finally
    con.Close() 'After finish execute anything, force close the connection. (Whether succeed or not.)
End Sub

09-08 02:51