我的vb.net控制器中的代码:
For i = 0 To depToDelete.Count - 1
cmd.CommandText = "delete from budget.budget_monthlybudgetfees where guid in(@strdepToDelete, @strOtherToDelete);"
cmd.Parameters.Add("@strdepToDelete", MySql.Data.MySqlClient.MySqlDbType.VarChar, 36).Value = depToDelete(i)
cmd.Parameters.Add("@strOtherToDelete", MySql.Data.MySqlClient.MySqlDbType.VarChar, 36).Value = otherToDelete(i)
Try
cmd.ExecuteNonQuery()
success = True
Catch ex As Exception
success = False
End Try
Next
我之前已经设置了连接字符串。删除查询首次运行,但第二次在MySql.Data.dll中抛出“MySql.Data.MySqlClient.MySqlException类型的第一次机会异常”。我已经尝试按照其他帖子建议将Trim放在参数上,但仍然同样的错误。我尝试在循环开始时将cmd.CommandText设置为“”但没有变化。
答案 0 :(得分:1)
您很可能会收到错误消息,因为您在循环的每次迭代中添加参数。参数只能添加一次。但是,您当然可以在循环中更改其指定值,如下所示:
cmd.Parameters("@myParameter").Value = "Assign value here"
因此,只需在循环之前添加参数,然后仅在循环期间更改该值。