首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL连接在VB.net中的错误

MySQL连接在VB.net中的错误
EN

Stack Overflow用户
提问于 2015-04-10 21:08:40
回答 1查看 660关注 0票数 0

我正在尝试将我的vb.net webform连接到一个MySQL数据库,但是在运行时会得到以下错误:

System.InvalidOperationException:连接必须是有效和开放的。( MySql.Data.MySqlClient.MySqlCommand.Throw(Exception ex)在MySql.Data.MySqlClient.MySqlCommand.CheckState() at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)

这是我的密码:

代码语言:javascript
复制
        Dim Sqlconnection As New MySqlConnection("server=localhost;user id=orderadmin;password=***;database=pfrorder")
        Dim sqladapter As New MySqlDataAdapter
        Dim cmd As New MySqlCommand
        Dim reader As MySqlDataReader

        cmd.CommandText = "SELECT * FROM orders"
        cmd.CommandType = CommandType.Text
        Sqlconnection.Open()
        reader = cmd.ExecuteReader
        Sqlconnection.Close()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-10 21:15:50

要完成任务,命令、适配器或读取器需要使用打开的连接。您已经打开了一个连接,但是它并没有与您的MySqlCommand相关联。因此,当您调用ExecuteReader时,它不知道如何访问数据库。要解决这个问题,只需使用接受sql文本和连接的MySqlCommand构造函数即可。

代码语言:javascript
复制
Using connection = New MySqlConnection("...."=
Using cmd = New MySqlCommand("SELECT * FROM orders", connection)
    connection.Open()
    Using reader = cmd.ExecuteReader
        .... do you stuff reading values from the reader here ...
        .... if you close the connection, the reader is also closed ....
    End Using
End Using
End Using

还请注意,每个一次性对象,如连接、命令或读取器,都应该在不再需要时处理。如果您得到异常,则使用语句确保您的对象也被关闭和释放,

(我还将MySqlConnection变量的名称更改为与Sql Server SqlConnection类不太混淆的名称)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29570721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档