Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Microsoft.ACE.OLEDB.12.0 provider behaves badly with bookmarks?

3 views
Skip to first unread message

developer67

unread,
Sep 8, 2009, 7:59:01 PM9/8/09
to
I'm attempting to connect my C++ program to an Access database file, which
does connect okay. I'm using an IRowsetLocate to set the IRowset position to
be one after the last row. This works without complaint with the SQLNCLI
provider.
The code is:
hresult = rowsetLocate->GetRowsAt( 0, DB_NULL_HCHAPTER,
STD_BOOKMARKLENGTH, DBBMK_LAST, offset,
desiredFetchedRowCount,
&fetchedRowCount, &rawRowHandle );
offset = 1
desiredFetchedRowCount = 1
Thus, it is set to get the row after the last row.
However, it fails and returns DB_E_BADSTARTPOSITION, which means
"lRowsOffset indicated a position either more than one row before the first
row of the rowset or more than one row after the last row, and the provider
was a 1.x provider."
It was not pointing to more than one row after the last row! Can I conclude
that the ACE provider does not follow the OLE DB documentation, or am I doing
something wrong?
0 new messages