我正在尝试将我的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)
这是我的密码:
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()发布于 2015-04-10 21:15:50
要完成任务,命令、适配器或读取器需要使用打开的连接。您已经打开了一个连接,但是它并没有与您的MySqlCommand相关联。因此,当您调用ExecuteReader时,它不知道如何访问数据库。要解决这个问题,只需使用接受sql文本和连接的MySqlCommand构造函数即可。
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类不太混淆的名称)
https://stackoverflow.com/questions/29570721
复制相似问题