在数据网格视图中第二次删除行不起作用

Deleting a row for the second time in a datagrid view is not working

我在数据网格视图中显示了数据库中的数据列表。每当我删除一条记录时,它都会成功地将其从 table 和数据库中删除,但是当我尝试删除另一条记录时,删除功能不再起作用。

这是我的代码:

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

这是 refreshList 的代码:

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 数据库。

您的删除语句 return 除了删除的记录数之外没有结果集。使用 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