【问题标题】:VB.NET connection must be valid and open ERRORVB.NET 连接必须有效且打开 ERROR
【发布时间】:2014-11-28 14:39:33
【问题描述】:

我正在尝试将 MySQL 数据库连接到我的 VB.NET 应用程序。只是一个登录表单。

我是初学者。所以我正在测试一个新项目。

当我点击登录按钮时,它显示“连接必须有效且打开!”

但连接检查按钮 (Button1) 正在工作。

不知道为什么……

这里是源代码。我该如何解决?

Imports MySql.Data.MySqlClient

Public Class Form1
    Dim Mysqlconn As MySqlConnection
    Dim COMMAND As MySqlCommand

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Mysqlconn = New MySqlConnection
        Mysqlconn.ConnectionString =
            "server=localhost;userid=root;password=-------;database=user"

        Try
            Mysqlconn.Open()
            MessageBox.Show("Connection Successful.")
            Mysqlconn.Close()

        Catch ex As MySqlException
            MessageBox.Show(ex.Message)
        Finally
            Mysqlconn.Dispose()

        End Try

    End Sub

    Private Sub loginbtn_Click(sender As Object, e As EventArgs) Handles loginbtn.Click
        Mysqlconn = New MySqlConnection
        Mysqlconn.ConnectionString =
            "server=localhost;userid=root;password=password;database=user"
        Dim READER As MySqlDataReader
        Try
            Mysqlconn.Open()
            Dim Query As String
            Query = "select * from user.Useridpw where UserID='" & Username.Text & "' and UserPW='" & Password.Text & "' "
            COMMAND = New MySqlCommand
            READER = COMMAND.ExecuteReader
            Dim count As Integer
            count = 0
            While READER.Read
                count = count + 1
            End While

            If count = 1 Then
                MessageBox.Show("ID PW OK")
            ElseIf count > 1 Then
                MessageBox.Show("ID/PW Duplicated.")
            Else
                MessageBox.Show("ID/PW Incorrect.")

            End If

            Mysqlconn.Close()

        Catch ex As MySqlException
            MessageBox.Show(ex.Message)
        Finally
            Mysqlconn.Dispose()

        End Try
    End Sub
End Class

【问题讨论】:

    标签: .net connection


    【解决方案1】:

    几个问题

    1. 尚未将查询与命令关联

    2. 尚未将命令与连接关联

    连接是命令的一个属性,可以分配很多
    DbCommand.Connection Property

    【讨论】:

    • 如果这回答了您的问题,那么您可以通过单击检查来表明这一点
    猜你喜欢
    • 1970-01-01
    • 2017-09-09
    • 2011-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-15
    • 1970-01-01
    相关资源
    最近更新 更多