OLE DB Rowset and Binding Support

To set and retrieve data, OLE DB Templates use an accessor and a rowset through the CAccessorRowset class, as shown in the following figure. This class can handle multiple accessors of different types.

Accessor Types

All accessors derive from CAccessorBase. CAccessorBase provides both parameter and column binding.

There are four accessor types and three rowset types, which are shown in the following figure.

The following table summarizes the four accessor types.

Accessor type Dynamic Params Buffer Multiple accessors
CAccessor No Yes User Yes
CDynamicAccessor Yes No OLE DB Templates No
CDynamicParameterAccessor Yes Yes OLE DB Templates No
CManualAccessor Yes Yes User No

Rowset Types

The OLE DB Templates support three kinds of rowsets (see the preceding figure): single rowsets (implemented by CRowset), bulk rowsets (implemented by CBulkRowset), and array rowsets (implemented by CArrayRowset). Single rowsets fetch a single row handle when MoveNext is called. Bulk rowsets can fetch multiple row handles. Array rowsets are rowsets that can be accessed using array syntax.

Back to the OLE DB Consumer Template Architecture