【问题标题】:Fatal error encountered during command execution. -- aspx VB - MYSQL命令执行期间遇到致命错误。 -- aspx VB - MYSQL
【发布时间】:2020-06-14 02:08:40
【问题描述】:

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

有人可以帮我吗?

【问题讨论】:

  • 我不明白你为什么每次都打开和关闭连接。你也可以显示 cmd1
  • 正如@nbk 所述,在每次循环迭代时打开和关闭该连接可能是您的问题的一部分。也许把它移到你的循环之外。除此之外,你能给使用cmd1的命令文本吗
  • 不断添加和删除命令参数也是错误的。您应该添加一次参数,然后在每次迭代时设置其 Value

标签: mysql asp.net vb.net


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 2014-04-25
    • 2014-10-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多