Listview &引用;关闭对象时不允许操作";在adodc visual basic 6中

Listview &引用;关闭对象时不允许操作";在adodc visual basic 6中,listview,vb6,basic,Listview,Vb6,Basic,嘿,伙计们,我朋友让我在这里提问,我是新来的,所以我真的希望你们能帮我解决我们论文中的这个大问题 因此,当我删除数据库表中列出的所有项目时,总是会出现一个消息框,上面写着“对象关闭时不允许操作”,但当我按“确定”时,即使出现错误,也会工作。我试着向我的教授解释这是怎么回事,她说我们真的应该找到一种方法来删除它,我尝试了一切,我在微软的支持和其他网站上搜索,仍然没有答案。所以我真的希望你们能帮我 下面是我在vb6中删除所有列出项目的代码。顺便说一下,我使用的是listview和adodc,这是我们

嘿,伙计们,我朋友让我在这里提问,我是新来的,所以我真的希望你们能帮我解决我们论文中的这个大问题

因此,当我删除数据库表中列出的所有项目时,总是会出现一个消息框,上面写着“对象关闭时不允许操作”,但当我按“确定”时,即使出现错误,也会工作。我试着向我的教授解释这是怎么回事,她说我们真的应该找到一种方法来删除它,我尝试了一切,我在微软的支持和其他网站上搜索,仍然没有答案。所以我真的希望你们能帮我

下面是我在vb6中删除所有列出项目的代码。顺便说一下,我使用的是listview和adodc,这是我们老师告诉我们不要使用adodb或datagrid的唯一组件,只使用adodc和listview

Private Sub Command2_Click()

txtqty.Text = "1"
On Error Resume Next
confirm = MsgBox("Do you really want to Delete all record?", vbYesNo + vbInformation, "Warning!")
If confirm = vbYes Then

Adodc1.RecordSource = "DELETE * FROM tblbill"
Adodc1.Refresh
Adodc1.Recordset.Delete

MsgBox "Records Successfully Deleted", , "Deleted"
lv2.ListItems.Clear
Adodc1.RecordSource = "SELECT * FROM tblbill"
Adodc1.Refresh
For X = 1 To Adodc1.Recordset.RecordCount
lv2.ListItems.Add , , Adodc1.Recordset.Fields(0)
lv2.ListItems(X).SubItems(1) = Adodc1.Recordset.Fields(1)
lv2.ListItems(X).SubItems(2) = Adodc1.Recordset.Fields(2)
lv2.ListItems(X).SubItems(3) = Adodc1.Recordset.Fields(3)
Adodc1.Recordset.MoveNext
Next
txtcash.Text = ""
Text5.Enabled = True
Text5.Text = ""
Text5.Enabled = False
txtchange.Text = ""
cmddel.Enabled = False
Command2.Enabled = False
cmdadd.Enabled = False
Else
MsgBox "Records not Deleted.", vbInformation, "Record not Deleted"
End If
End Sub

当我删除adodc1.recordsource delete底部的adodc1.refresh时,消息将消失,但我的listview被弄乱了。请帮帮我。我们的论文的截止日期是明天,请帮帮我。

不确定这是否有效,但尝试将Adodc1.RecordSource=“DELETE*FROM tblbill”更改为Adodc1.RecordSource=“SET NOCOUNT ON;DELETE*FROM tblbill”仍然不起作用,一个新的消息框显示“无效的SQL语句;应为“删除”、“插入”、“过程”、“选择”或“更新”。“我意识到这篇文章已经有两年半的历史了,但这是一个完美的例子,说明了为什么你应该总是避免在下一次错误恢复时出现
,如果你能看到代码中是否发生了错误以及发生了什么其他错误,这可能是可以解决的。应该处理错误,而不是忽略错误。不确定这是否可行,但请尝试将Adodc1.RecordSource=“DELETE*FROM tblbill”更改为Adodc1.RecordSource=“SET NOCOUNT ON;DELETE*FROM tblbill”如果仍然不起作用,则会出现一个新的消息框,显示“无效的SQL语句;应为‘删除’、‘插入’、‘过程’、‘选择’或‘更新’。”我知道这篇文章已经有两年半的历史了,但这是一个完美的例子,说明了为什么你应该总是避免在下一次错误恢复时出现
,如果你能看到代码中是否发生了其他错误,这可能是可以解决的。应该处理错误,而不是忽略错误。