首页 > 解决方案 > 命令执行期间遇到致命错误。-- aspx VB - MYSQL

问题描述

我尝试在我的数据库中迭代一个以上的 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的复选框中取值并且工作正常,但第二次返回这个错误:在命令执行期间遇到致命错误。

有人能帮我吗?

标签: mysqlasp.netvb.net

解决方案


我相信评论指向以下内容。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

推荐阅读