Microsoft KB Archive/151686

= FIX: MFC ODBC Dynaset Cannot Update a SQL Server 6.0 View =

Article ID: 151686

Article Last Modified on 11/21/2006

-

APPLIES TO

 Microsoft Foundation Class Library 4.2, when used with:  Microsoft Visual C++ 5.0 Learning Edition

 Microsoft Visual C++ 5.0 Learning Edition

 Microsoft Visual C++ 4.2 Enterprise Edition

 Microsoft Visual C++ 2.0 Professional Edition</li></ul>

 Microsoft Visual C++ 2.1</li></ul>

 Microsoft Visual C++ 4.0 Professional Edition</li></ul>

 Microsoft Visual C++ 4.1 Subscription</li></ul>

 Microsoft Visual C++ 4.2 Professional Edition</li></ul> </li> Microsoft Data Access Components 2.5</li></ul>

-

<div class="notice_section">

This article was previously published under Q151686

<div class="symptoms_section">

SYMPTOMS
An MFC database application cannot update a dynaset-type CRecordset based on a View in a SQL Server 6.00 data source, even if the operation observes the SQL Server requirement that updates through Views only update a single base table. The update will give the following error:

Error: failure updating record.

The cursor does not include the table being modified

State:37000,Native:16933,Origin:[Microsoft][ODBC SQL Server Driver] [SQL Server]

<div class="cause_section">

CAUSE
This error is caused by a bug in SQL Server 6.0 server cursors. For more information on this problem, please see the following article in the Microsoft Knowledge Base:

149917 FIX: 16933 Error on View Updated Through Server Cursor

<div class="resolution_section">

RESOLUTION
One workaround is to use snapshots with the cursor library to update the View. You can use a dynaset with a View as long as you are not updating it. If you must use a dynaset and need to update, try using a permanent or temporary table instead of a View, or open a separate recordset as a snapshot.

<div class="status_section">

STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article. This bug is corrected in Microsoft SQL Server version 6.50.

<div class="moreinformation_section">

MORE INFORMATION
This problem only occurs when using a dynaset update. The recordset is opened correctly. The dynaset is scrollable forward and backward and MoveNext and MovePrev also work correctly but dynaset does not allow updates.

Keywords: kbbug kbfix kbdatabase kbprogramming KB151686

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.