Microsoft KB Archive/219025

= BUG: ODBC Query of VFP View Returns SQL_NO_DATA_FOUND =

Article ID: 219025

Article Last Modified on 10/17/2003

-

APPLIES TO


 * Microsoft Visual FoxPro 6.0 Professional Edition
 * Microsoft Data Access Components 2.5

-



This article was previously published under Q219025



SYMPTOMS
When using the ODBC Visual FoxPro (VFP) driver, a query to a Visual FoxPro view returns SQL_NO_DATA_FOUND from SQLExtendedFetch and SQLFetch as in the following code:

sr = SQLAllocHandle( SQL_HANDLE_STMT, hdbc, & hstmt );

sr = SQLPrepare( hstmt, ( unsigned char * ) "select * from listview", SQL_NTS );

// This call to SQLNumResultCols breaks the SQLExtendedFetch call. sr = SQLNumResultCols( hstmt, & colcount );

sr = SQLExecute( hstmt );

sr = SQLBindCol( hstmt, 1, SQL_C_SLONG, & wineid, 4, & StrLen_or_Ind1 );

sr = SQLBindCol( hstmt, 2, SQL_C_CHAR, winename, 51, & StrLen_or_Ind2 );

// This returns 100 == SQL_NO_DATA_FOUND - but there is data!!! sr = SQLExtendedFetch( hstmt, SQL_FETCH_NEXT, 1, & RowCountPtr, & RowStatusArray );

SQLFreeStmt( hstmt, SQL_DROP );



CAUSE
Calling SQLNumResultCols, SQLColAttributes, and SQLDescribeCol in between SQLPrepare and SQLExecute when querying a view, causes SQLExecute to return an empty cursor on the view.



RESOLUTION
Use either of the following:


 * Do not call SQLNumResultCols, SQLColAttributes, or SQLDescribeCol until after the call to SQLExecute.

-or-


 * Call SQLExecDirect and execute SQLNumResultCols, SQLColAttributes, SQLDescribeCol following this call.



STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.

Additional query words: VFPODBC

Keywords: kbbug kbpending KB219025

-

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

© Microsoft Corporation. All rights reserved.