ID: Q190625
The information in this article applies to:
ActiveX Data Objects (ADO) incorrectly reports that a client-side recordset opened with a LockType of adLockPessimistic was opened with pessimistic locking.
The ADO client cursor engine does not support pessimistic locking. If you ask ADO for a pessimistically locked client-side recordset, you actually receive an optimistically locked recordset instead, even though ADO did not change the value of the LockType property to adLockOptimistic.
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. We are researching this bug and will post new information here in the Microsoft Knowledge Base as it becomes available.
1. Open a Standard.exe project in Visual Basic, and add a reference to the
   Microsoft ActiveX Data Object Library.
      Option Explicit
      Dim myconn As New ADODB.Connection
      Dim myrs As New ADODB.Recordset
      Private Sub Form_Load()
        Dim strConn As String
        'Modify the connection string to point to your NWind.MDB file.
         strConn = "Provider=MSDASQL;" & _
              "Driver={Microsoft Access Driver (*.mdb)};" & _
              "DBQ=D:\vb5\Labs\LAB10\NWind.MDB"
        myconn.CursorLocation = adUseClient
         myconn.Open strConn
       'Request a pessimistically locked cursor.
       'ADO's client cursor engine only supports optimistic locking.
         myrs.Open "SELECT * FROM Customers", myconn, _
              adOpenStatic, adLockPessimistic, adCmdText
         MsgBox "MyRS.LockType = " & myrs.LockType & vbCrLf & _
                "adLockPessimistic = " & adLockPessimistic & vbCrLf & _
                "adLockOptimistic = " & adLockOptimistic
         myrs.Close
ADO 2.0 documentation.
Additional query words: kbADO150bug kbADO200bug kbado200
Version           : WINDOWS:1.5,2.0,5.0,6.0
Platform          : WINDOWS
Issue type        : kbbug
Solution Type     : kbpendingLast Reviewed: August 7, 1998