Microsoft KB Archive/155850

= PRB: "Error Retrieving Record" with SQL Statement in Open =

Article ID: 155850

Article Last Modified on 11/21/2006

-

APPLIES TO

 Microsoft Foundation Class Library 4.2, when used with:  Microsoft Visual C++ 4.0 Standard Edition

 Microsoft Visual C++ 4.1 Subscription

 Microsoft Visual C++ 4.2 Enterprise Edition

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

-

<div class="notice_section">

This article was previously published under Q155850

<div class="symptoms_section">

SYMPTOMS
The following exception is thrown in a MFC database application that specifies a SQL statement in the call to CRecordset::Open:

Error retrieving record

The message appears in a message box as well as in the Output window of the Visual C++ debugger.

The following debug messages are also displayed in the debug window if database tracing is on:

Warning: converted from SQL type.

Error: fetching row from server.

Error in row

Error in assignment on column number <#>

<div class="cause_section">

CAUSE
The Microsoft Access ODBC driver returns these errors if a column is bound to an unsupported data type. The error message returned is specific to the 32-bit Microsoft Access ODBC driver that ships with Visual C++ 4.x.

<div class="moreinformation_section">

MORE INFORMATION
One reason for this error is that a developer has specified a SQL statement as the second argument for the CRecordset::Open function. In this case, the columns listed in the SQL SELECT statement must match the order by which the RFX functions are called in the CRecordset's DoFieldExchange. The first RFX function maps to the first column returned in the recordset, the second RFX function maps to the second column, and so on. The exception is thrown when the RFX functions are out of order. Paying attention to the exception can save developers a lot of debugging time.

A different error message can be returned for other drivers, and is documented in the following KB article.

123977 PRB: "Unexpected column data types were returned from query"

Additional query words: 4.00 4.10 4.20 kbdsd

Keywords: kbdatabase kbprb KB155850

-

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

© Microsoft Corporation. All rights reserved.