Vb6 在datagrid视图中第二次删除行不起作用

Vb6 在datagrid视图中第二次删除行不起作用,vb6,Vb6,我在datagrid视图中显示了数据库中的数据列表。每当我删除一条记录时,它都会成功地将其从表中以及数据库中删除,但当我尝试删除另一条记录时,delete函数不再起作用 这是我的密码: Private Sub cmdDelete_Click() Set Connect = New Class1 Set rxdelete = New ADODB.Recordset Dim sqlString, dataID, answer As String dataID =

我在datagrid视图中显示了数据库中的数据列表。每当我删除一条记录时,它都会成功地将其从表中以及数据库中删除,但当我尝试删除另一条记录时,delete函数不再起作用

这是我的密码:

Private Sub cmdDelete_Click()
    Set Connect = New Class1
    Set rxdelete = New ADODB.Recordset

    Dim sqlString, dataID, answer As String

    dataID = lblID.Caption
    sqlString = "DELETE FROM tblloan WHERE ID = '" & Trim$(dataID) & "'"

    answer = MsgBox("Are you sure you want to delete this record?", vbYesNo, "RheaLending")

    If answer = vbYes Then
        rxdelete.Open sqlString, con, 3, 3
        Call refreshList
    Else
        Call refreshList
    End If

End Sub
以下是刷新列表的代码:

Sub refreshList()

    Set Connect = New Class1
    Set rxloan = New ADODB.Recordset

    rxloan.Open "SELECT * FROM tblloan LIMIT 100", con, 3, 3
    lblLNumberRecords.Caption = Format(rxloan.RecordCount, "###,###,###.##")
    Set DatLoans.DataSource = rxloan
    DatLoans.SetFocus

End Sub
请有人帮帮我!
我正在使用vb6、adodb和mysql数据库。

您的delete语句不会返回除已删除记录数以外的结果集。使用adodb.command而不是.recordset。另一件事是,你没有杀死你的对象。从长远来看,它可能会让你贪婪,因为应用程序可能会变慢

Set rxdelete = New ADODB.command
set rxdelete.currentconneciton = [your connection object]
rxdelete.commandtext =  "DELETE FROM tblloan WHERE ID = '" &   Trim$(dataID) & "'"
rxdelete.execute 

'at the bottom of your sub

set rxdelete=nothing
set connect = nothing

“不再工作了”发生了什么?您是否尝试使用调试器单步执行代码?您删除了ID取自lblID组件的记录,该组件似乎是一个标签。我认为它没有正确刷新,删除后包含错误的值是的,我有。事实上,我有另一个客户表,也有删除按钮,它工作完美,代码是相同的@Robert KockAs@EddiGordo提到,我怀疑您的
dataID
值没有更新到您试图删除的新记录的ID。添加断点并检查
sqlString
中的
dataID
是什么。标签显示要删除的数据的id。我只是将其存储在dataID变量中,使其成为引用。