developer67
unread,Sep 8, 2009, 7:59:01 PM9/8/09You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
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?