在命令执行期间遇到致命错误。-aspxvb-MYSQL

在命令执行期间遇到致命错误。-aspxvb-MYSQL,mysql,asp.net,vb.net,Mysql,Asp.net,Vb.net,我尝试在数据库中迭代多个INSERT,使用ASPX/VB从gridview获取值: For Each row As GridViewRow In gv_membri.Rows Dim ChkBoxRows As CheckBox = CType(row.FindControl("cb_membri"), CheckBox) If ChkBoxRows.Checked Then

我尝试在数据库中迭代多个INSERT,使用ASPX/VB从gridview获取值:

            For Each row As GridViewRow In gv_membri.Rows
                Dim ChkBoxRows As CheckBox = CType(row.FindControl("cb_membri"), CheckBox)
                If ChkBoxRows.Checked Then
                    Dim select_udp_membri As New MySqlParameter("@udp_membri", MySqlDbType.Int16, 11)

                    select_udp_membri.Value = CInt(row.Cells(1).Text)
                    cmd1.Parameters.Add(select_udp_membri)
                    con.Open()
                    Try

                        cmd1.ExecuteNonQuery()

                    Catch ex As Exception
                        lblerr0.Text = "INSERT udp_user ERROR: " + ex.Message

                        Exit For
                    End Try
                    cmd1.Parameters.Clear()
                    con.Close()
                End If
            Next 
第一次从gridview的复选框中获取值时,它工作正常,但第二次返回此错误: 在命令执行期间遇到致命错误


有人能帮我吗?

我相信这些评论是针对以下内容的。Using…End Using块确保关闭并释放数据库对象

Protected Sub OPCode()
    Using con As New MySqlConnection("Your connection String"),
            cmd1 As New MySqlCommand("Insert Into ??? (???) Values (@udp_membri);", con)
        cmd1.Parameters.Add("@udp_membri", MySqlDbType.Int16, 11)
        con.Open()
        For Each row As GridViewRow In GridView1.Rows
            Dim ChkBoxRows As CheckBox = CType(row.FindControl("cb_membri"), CheckBox)
            If ChkBoxRows.Checked Then
                cmd1.Parameters("@udp_membri").Value = CInt(row.Cells(1).Text)
                Try
                    cmd1.ExecuteNonQuery()
                Catch ex As Exception
                    lblerr0.Text = "INSERT udp_user ERROR: " + ex.Message
                    Exit For
                End Try
            End If
        Next
    End Using
End Sub

我不明白你为什么每次都打开和关闭连接。您还可以展示@nbk提到的CMD1A,在每次循环迭代中打开和关闭该连接可能是您的问题的一部分。也许把它移到你的循环之外。除此之外,您是否可以为CMD1I使用命令文本?继续添加和删除命令参数也是错误的。您应该添加一次参数,然后在每次迭代中设置其
值。