在循环中删除查询第二次通过

时间:2016-02-16 14:26:38

标签: mysql vb.net

我的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设置为“”但没有变化。

1 个答案:

答案 0 :(得分:1)

您很可能会收到错误消息,因为您在循环的每次迭代中添加参数。参数只能添加一次。但是,您当然可以在循环中更改其指定值,如下所示:

cmd.Parameters("@myParameter").Value = "Assign value here"

因此,只需在循环之前添加参数,然后仅在循环期间更改该值。