BUG: Invalid Operation After Setting RDC Resultset = Nothing

Last reviewed: October 9, 1996
Article ID: Q153017
The information in this article applies to:
  • Enterprise Editions of Microsoft Visual Basic for Windows, 32-bit only, version 4.0

SYMPTOMS

Executing a refresh method against a remote data control after setting the RDC's Resultset property to Nothing can cause one of these errors:

   "Invalid operation for forward only cursor"

   -or-

   "Unknown error or operation"

CAUSE

This error occurs because setting the ResultSet property to Nothing also causes the ResultsetType property to be set to 0. Zero is not a valid setting for the ResultsetType property.

WORKAROUND

To avoid this problem, set the ResultsetType property to the valid value of 1 after setting the Resultset equal to Nothing. For example, the following code will work correctly and not cause any errors:

   Set MSRDC1.Resultset = Nothing
   MSRDC1.ResultsetType = 1
   MSRDC1.Refresh

STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. Microsoft is researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.

MORE INFORMATION

Steps To Reproduce Problem

  1. Start Visual Basic 4.0. Form1 is created by default.

  2. Add a single Remote Data control to Form1.

  3. Add the following code to the form, making sure to change the OpenConnection parameters to match an existing data source:

       Private Sub Form_Click()
          Dim cn As rdoConnection
            Dim rsTemp As rdoResultset
    
            Set cn = rdoEnvironments(0).OpenConnection("", rdDriverNoPrompt, _
             False, "DSN=MyDSN;database=pubs;uid=sa;pwd=;")
            Set rsTemp = cn.OpenResultset("Select * From Authors;", _
             rdOpenKeyset)
            Set MSRDC1.Resultset = rsTemp
            MSRDC1.Refresh
            Set MSRDC1.Resultset = Nothing
            MSRDC1.Refresh
       End Sub
    
    

  4. Press the F5 key, or select Start from the Run menu to run the application. Click once on the form to execute the code and to see the error.


Additional reference words: 4.00 vb4win vb432
KBCategory: kbprg kbbuglist
KBSubcategory: APrgDataODBC



THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: October 9, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.