visual basic 6错误"消费者事件处理程序在提供程序中称为不可重入的方法"

时间:2015-12-11 05:38:29

标签: vb6

我正在VB6 ADO中编写一个登录和新的操作员注册码。这是两种不同的形式。如果没有用户注册,那么他就登录了。 我需要用户注册时遇到更新问题。 ERROR是"消费者事件处理程序在提供程序中被称为不可重入的方法" 我试图谷歌它,但没有找到适当的解决方案。 这是更新子程序的代码。

  Private Sub btnUpdate_Click()
   On Error GoTo errlabel
    If txtNewPassword.Text = txtConfirmPass.Text Then
       adorecordset.Update
       MsgBox "Record Updated Sucessfully"
    Else
       MsgBox "Password didnt match"
    End If
    Exit Sub
   errlabel:
     MsgBox Err.Description
  End Sub

谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

来自:PRB: IRowsetNotify Error with ADO Data Control and ADO Recordset (OR "Consumer's event handler called a non-reentrant method in the provider" Error for Update)

  

解决方案

     

1.使用client-side cursor instead of a server-side cursor

     

-OR -

     

2.在违规行之前立即调用Recordset的Move方法。例如:

  ADODC1.Recordset.Move 0
     

-OR -

     

3.Microsoft Visual Basic 6.0 Service Pack 3在某些情况下已被发现解决此错误。