MDAC 2.5 SDK - OLE DB Programmer's Reference
Chapter 4: Rowsets


 

Fetching Rows

Methods such as IRowsetFind::FindNextRow, IRowset::GetNextRows, IRowsetLocate::GetRowsAt, IRowsetLocate::GetRowsByBookmark, and IRowsetScroll::GetRowsAtRatio are used to fetch rows from a rowset. The consumer can use these methods to get multiple row handles with a single call.

The provider manages its row buffers on behalf of the consumer. When a row is fetched, the provider stores the row data in a buffer local to the provider. The row is usually stored in a native format, although how this is done is provider-specific. The consumer does not have direct access to the provider's data. Instead, the consumer calls IRowset::GetData to fetch row data into its own buffer and IRowsetChange::SetData to make changes to it. For more information, see Chapter 6, "Getting and Setting Data."

The rowset's DBPROP_CANHOLDROWS property specifies whether row handles previously obtained from earlier calls to methods such as GetNextRows must be released before the consumer can call IRowset::GetNextRows to retrieve new row handles.