使用Vb.net和Mysql作为数据库登录的代码

时间:2014-02-19 02:16:01

标签: mysql vb.net authentication

请帮助调试我的代码。它是一个登录表单,由于代码中的一些错误而无法运行。请帮帮我..我不知道如何调试它。
我是编程的初学者。

Imports MySql.Data.MySqlClient

Public Class Form1

     ' Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim cmd As New MySqlCommand
        Dim da As New MySqlDataAdapter
        Dim con As MySqlConnection = jokenconn()
    End Sub'

    Public Function jokenconn() As MySqlConnection
        Return New MySqlConnection("server=localhost;user id=root;Database=db_ko;")
    End Function

    Private Sub cmdlogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdlogin.Click
        Dim connString As String = "Database=db_ko;Data Source=localhost;User ID=root;"

        Dim conn As New MySqlConnection(connString)
        Dim cmd As New MySqlCommand

        Dim user As String = txtusername.Text
        Dim pass As String = txtpass.Text
        Dim reader As DataTableReader

        conn.Open()
        cmd.CommandText = "SELECT * FROM `db_account` WHERE username= '" & txtusername.Text & "' and password= '" & txtpass.Text & "', conn"
        cmd.Connection = conn

        cmd.Parameters.Add(New MySqlParameter("?UserName", txtusername.Text))
        cmd.Parameters.Add(New MySqlParameter("?Password", txtpass.Text))

        cmd.Connection = conn
        'cmd.EndExecuteReader = reader

        If reader.HasRows() Then
            MessageBox.Show("Login success!", "Success!", MessageBoxButtons.OK, MessageBoxIcon.Information)
            Form2.Show()
            Me.Close()

        Else

            MsgBox("Invalid Login information.!", MessageBoxButtons.OK, MessageBoxIcon.Information)
        End If
        conn.Close()

    End Sub

End Class
抱歉代码错了。谢谢你提前!!

1 个答案:

答案 0 :(得分:1)

你在这里注释掉了这一行。删除“'”

' Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

并将其更改为

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

另外,尝试删除此行上的db_account上的“`”

cmd.CommandText = "SELECT * FROM `db_account` WHERE username= '" & txtusername.Text & "' and password= '" & txtpass.Text & "', conn"

cmd.CommandText = "SELECT * FROM db_account WHERE username= '" & txtusername.Text & "' and password= '" & txtpass.Text & "', conn"