Mysql “我的代码”中不断出现错误(连接已打开)
这个错误不断出现!!!MySql.Data.dll中发生类型为“System.InvalidOperationException”的未处理异常 其他信息:连接已打开Mysql “我的代码”中不断出现错误(连接已打开),mysql,vb.net,Mysql,Vb.net,这个错误不断出现!!!MySql.Data.dll中发生类型为“System.InvalidOperationException”的未处理异常 其他信息:连接已打开 Dim cmd As MySqlCommand con.Open() Try cmd = con.CreateCommand() cmd.CommandText = "update animal_sale set @NOAB,@Amount,@Tax
Dim cmd As MySqlCommand
con.Open()
Try
cmd = con.CreateCommand()
cmd.CommandText = "update animal_sale set @NOAB,@Amount,@Tax,@Total where Species=@Species"
cmd.Parameters.AddWithValue("@Species", TextBoxSpecies.Text)
cmd.Parameters.AddWithValue("@NOAB", TextBoxNo.Text)
cmd.Parameters.AddWithValue("@Amount", TextBoxAmount.Text)
cmd.Parameters.AddWithValue("@Tax", TextBoxTax.Text)
cmd.Parameters.AddWithValue("@Total", TextBoxTotal.Text)
cmd.ExecuteNonQuery()
load()
Catch ex As Exception
End Try
End Sub
执行查询后,您似乎没有关闭连接。你只有
con.Open()
和之后不关闭连接
cmd.ExecuteNonQuery()
将数据库对象保持在使用它们的方法的本地。然后,您总是知道连接的状态,并可以确保它们已关闭和释放。即使出现错误,使用…End Using块也可以为您执行此操作。在这段代码中,连接和命令都被一个Using块覆盖。注意第一行末尾的逗号 您可以将连接字符串直接传递给连接的构造函数 您可以将命令文本和连接直接传递给命令的构造函数 更新sql命令不正确。您需要告诉服务器要更新哪些字段。我不得不猜测这些田地的名字。检查数据库中是否有正确的名称,并相应地调整代码 请不要使用.AddWithValue。看见 和 还有一个: 这是另一个 我不得不猜测.Add方法的数据类型和字段大小。检查数据库中的正确值并调整代码 我在数据库代码中将文本框字符串转换为正确的数据类型,但通常这些值在到达此代码之前会被解析和转换
Private Sub UpdateSale()
Using con As New MySqlConnection("Your connection string"),
cmd As New MySqlCommand("update animal_sale set nonab = @NOAB, amount = @Amount, tax = @Tax, total = @Total where species = @Species;", con)
cmd.Parameters.Add("@Species", MySqlDbType.VarChar, 100).Value = TextBoxSpecies.Text
cmd.Parameters.Add("@NOAB", MySqlDbType.Int32).Value = CInt(TextBoxNo.Text)
cmd.Parameters.Add("@Amount", MySqlDbType.Decimal).Value = CDec(TextBoxAmount.Text)
cmd.Parameters.Add("@Tax", MySqlDbType.Decimal).Value = CDec(TextBoxTax.Text)
cmd.Parameters.Add("@Total", MySqlDbType.Decimal).Value = CDec(TextBoxTotal.Text)
con.Open
cmd.ExecuteNonQuery()
End Using
End Sub
哪个错误?请共享完整准确的错误消息,以及您的调试尝试