我试图将数据插入MySql中的表中。这是我的代码。

Private Sub Submit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Submit.Click
        Mysqlconn = New MySqlConnection()
        Mysqlconn.ConnectionString = "server=localhost;userid=root;password=test;database=YHI"

        Try
            Mysqlconn.Open()
            COMMAND = New MySqlCommand("INSERT INTO Main(Character,Import_Date) VALUES(@character, @import_date)")
            COMMAND.Parameters.AddWithValue("@character", Character)
            COMMAND.Parameters.AddWithValue("@import_date", ImportDate)
            COMMAND.ExecuteNonQuery()
            MessageBox.Show("Ore counts for " & Character.Text & " imported successfully")

        Catch myerror As MySqlException
            MessageBox.Show(myerror.Message)
        Finally
            Mysqlconn.Dispose()
        End Try


这是我收到的错误消息:


  MySql.Data.dll中发生了类型为'System.InvalidOperationException'的未处理异常
  
  附加信息:连接必须有效且打开。


我是VB编程的新手,所以将不胜感激。

最佳答案

您没有将您的Mysqlconn连接到您的COMMAND(至少我不这么认为-无法看到声明COMMAND的位置)。

有几种方法可以实现此目的,但是现有代码中最简单的方法就是将其设置如下:

Mysqlconn.Open()
COMMAND = New MySqlCommand("INSERT INTO Main(Character,Import_Date) VALUES(@character, @import_date)")
COMMAND.Connection = Mysqlconn
COMMAND.Parameters.AddWithValue("@character", Character)

关于mysql - VB'System.InvalidOperationException'发生在MySql.Data.dll中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24224816/

10-13 02:10