FIX: "No rows were affected by the update or delete operation"

Last reviewed: September 18, 1997
Article ID: Q121217
1.50 WINDOWS kbtool kbbuglist kbfixlist kbprg

The information in this article applies to:

  • The Microsoft Foundation Classes (MFC), included with: Microsoft Visual C++ for Windows, version 1.5

SYMPTOMS

When using snapshots with the Microsoft Foundation Class Library database classes, the following error message occurs:

   Warning: ODBC Success With Info, Warning: 0 rows affected by
       update operation (expected 1).
   No rows were affected by the update or delete operation.

CAUSE

This message may occur because of a bug in the ODBC cursor library (ODBCCURS.DLL). In the following scenarios, the cursor library incorrectly handles modifying of fields that have a pre-defined length (such as numeric fields and everything that is not a text field and not a variable length field):

  • A field in a table is null and an application changes the field to a non-null value. After the field has been updated to the non-null value, subsequent updates fail.
  • A field in a table is non-null and an application changes the field to a null value. After the field has been updated to a null value, subsequent updates fail.

The cursor library incorrectly updates the snapshot values in these cases. The bug won't occur if the snapshot is refreshed between updates by doing a requery.

RESOLUTION

Use one of the following techniques to work around the problem:

  • Requery after each update. In other words, set the field to null, and requery. Then set the field to non-null and requery, and so on.

          -or-
    
  • Use text fields in situations where the data may be changing from null to non-null data or vice versa.

STATUS

Microsoft has confirmed this to be a bug in the ODBC cursor library included in Microsoft Visual C++ version 1.5. The ODBC cursor library included in Microsoft Visual C++ version 1.51 fixes the problem.

REFERENCES

For more information about the cursor library, see the online books in Microsoft Visual C++ version 1.5 or see Appendix G of the ODBC 2.0 Programmer's Reference (ISBN: 1-55615-658-8).


Additional reference words: 1.50 2.50
KBCategory: kbtool kbbuglist kbfixlist kbprg
KBSubcategory: MfcDatabase
Keywords : kb16bitonly MfcDatabase kbbuglist kbfixlist kbprg kbtool
Technology : kbMfc
Version : 1.50
Platform : WINDOWS
Solution Type : kbfix


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: September 18, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.