在命令执行期间遇到致命错误。-aspxvb-MYSQL
我尝试在数据库中迭代多个INSERT,使用ASPX/VB从gridview获取值:在命令执行期间遇到致命错误。-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
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使用命令文本?继续添加和删除命令参数也是错误的。您应该添加一次参数,然后在每次迭代中设置其
值。