Interface Mapping Reference

Use the following table to inventory the ICursor interfaces you are using and match them with their OLE DB equivalents. It’s important to learn as much as possible about these equivalents. See the OLE DB Programmer’s Reference and Chapter 5 of this document for interface details. This should help you make a better estimate of the amount of work you have to do.

Cursor interface OLE DB interface When to use Comments
IBoundObjectSite IDataSource To retrieve the data source. The control must call QueryInterface on its client site for IBoundObjectSite. IDataSource is set for the control using its DataSource property.
IBoundObject IDataSourceListener To be notified of global changes in the data source. IBoundObject is a COM interface by the control for which containers call QueryInterface. IDataSourceListener is a simple callback interface implemented by the control, which it adds to the data source using IDataSource::addDataSourceListener.
ICursor IRowset To consume data. ICursor-based consumers use the base interface ICursor to do sequential fetches. OLE DB consumers use the base interface IRowset to do sequential row fetches. Both interfaces are the starting point on which their respective consumers call QueryInterface for more specialized data access interfaces.
ICursorMove and ICursorScroll IRowsetLocate To arbitrarily fetch rows. ICursorMove is used to fetch rows. ICursorScroll extends ICursorMove to support approximate positions and row count for scroll bar interfaces. IRowsetLocate provides this functionality in one interface.
ICursorFind IRowsetFind To perform searches for rows based on a simple filter. ICursorFind supports multiple column filters. IRowsetFind searches a single column.
ICursorUpdateARow IRowsetChange and IRowsetUpdate To make changes to a row or a single column. ICursorUpdateARow acts only on the current row. IRowsetChange acts on a specified row. IRowsetUpdate is available when changes to a rowset can be undone, or committed at a later time.
IEntryID None To access large column data or OLE objects. See the OLE DB Programmer's Reference, Chapter 7, “BLOBs and OLE Objects” for details.
INotifyDBEvents IRowPositionChange and IRowsetNotify To receive notifications about row currency changes and changes in row states. Use IRowPositionChange for notifications about row currency changes. Use IRowsetNotify for changes to the rowset or individual row states.