Share via


IRowsetImpl Class

Provides an implementation of the IRowset interface.

template <
   class T, 
   class RowsetInterface,
   class RowClass = CSimpleRow,
   class MapClass = CAtlMap <
      RowClass::KeyType,
      RowClass* 
   >
>
class ATL_NO_VTABLE IRowsetImpl : public RowsetInterface

Parameters

  • T
    Your class, derived from IRowsetImpl.

  • RowsetInterface
    A class derived from IRowsetImpl.

  • RowClass
    Storage unit for the HROW.

  • MapClass
    Storage unit for all row handles held by the provider.

Members

Methods

AddRefRows

Adds a reference count to an existing row handle.

CreateRow

Called by GetNextRows to allocate a new HROW. Not called directly by user.

GetData

Retrieves data from the rowset's copy of the row.

GetDBStatus

Returns the status for the specified field.

GetNextRows

Fetches rows sequentially, remembering the previous position.

IRowsetImpl

The constructor. Not called directly by user.

RefRows

Called by AddRefRows and ReleaseRows. Not called directly by user.

ReleaseRows

Releases rows.

RestartPosition

Repositions the next fetch position to its initial position; that is, its position when the rowset was first created.

SetDBStatus

Sets the status flags for the specified field.

Data Members

m_bCanFetchBack

Indicates whether a provider supports backward fetching.

m_bCanScrollBack

Indicates whether a provider can have its cursor scroll backwards.

m_bReset

Indicates whether a provider has reset its cursor position. This has special meaning when scrolling backwards or fetching backwards in GetNextRows.

m_iRowset

An index to the rowset, representing the cursor.

m_rgRowHandles

A list of row handles.

Remarks

IRowset is the base rowset interface.

Requirements

Header: atldb.h

See Also

Concepts

OLE DB Provider Templates (C++)

OLE DB Provider Template Architecture