运行查询时拒绝用户访问

时间:2017-01-31 15:55:09

标签: mysql sql vb.net

我的vb.net代码应该连接到我的数据库。它成功完成了此操作,直到我添加了一个查询来检查用户名和密码是否存在。添加此项后,用户将被拒绝访问,同时仍使用相同的密码。可能是什么原因造成的?代码:

MysqlConn = New MySqlConnection()

    MysqlConn.ConnectionString = "server=;" _
    & "user id=;" _
    & "password=;" _
    & "database="

    Try
        MysqlConn.Open()
        Using cmd As New MySqlCommand
            cmd.CommandText = "SELECT COUNT(*) From tableUser WHERE Username=" & TextBox1.Text & " AND Password=" & TextBox2.Text
            cmd.CommandType = CommandType.Text
            cmd.Connection = MysqlConn
            result = cmd.ExecuteScalar
        End Using
        MysqlConn.Close()
        If (result < 1) Then
            MessageBox.Show("Please make sure you have typed valid credentials!")
        ElseIf result = 1 Then
            Dim form As New Form2
            form.Show()
            Me.Close()
        End If
    Catch myerror As MySqlException
        MessageBox.Show("Connection to the database has been lost. Please try again later.")
    Finally
        MysqlConn.Dispose()
    End Try

1 个答案:

答案 0 :(得分:0)

这是一些代码,我只是写了它,希望它有所帮助,只需根据您的需要进行更改。

Private Sub login()
    conn = New MySqlConnection
    con.ConnectionString =
        "server=localhost;userid=root;password=1234;database=batabase;port=3307"
    Dim READER As MySqlDataReader
    If TextBox1.Text = "" Then


        MessageBox.Show("Please enter usename ! ", "Enter username")
        Exit Sub

    End If
    If TextBox2.Text = "" Then

        MessageBox.Show("Please enter password", "Enter password")
        Exit Sub
    End If


    Try


        conn.Open()
        Dim Query As String
        Query = "select * from db.users where user='" & TextBox1.Text & "' and password='" & TextBox2.Text & "' "
        COMMAND = New MySqlCommand(Query, conn)
        READER = COMMAND.ExecuteReader
        Dim count As Integer

        count = 0
        While READER.Read
            count = count + 1
        End While

        If count = 1 Then

            Form.Show()
            Me.Hide()

        ElseIf count > 1 Then
            MessageBox.Show("The username is already in use!")
        Else
            MsgBox("Error , please try again ", MsgBoxStyle.Critical)
        End If




        conn.Close()
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    Finally
        conn.Dispose()
    End Try
End Sub

根据需要更改数据库名称用户名,它将起作用!

只需在表单上的登录按钮中添加login()! 或者在没有私人子登录()

的情况下在您的按钮上输入此代码