OLE DB Consumer Templates
Visual Studio .NET 2003
The OLE DB Consumer Templates contain the following classes. The reference material also includes topics on the macros for OLE DB Consumer Templates.
Session Classes
- CDataConnection
- Manages the connection with the data source. This is a useful class for creating clients because it encapsulates necessary objects (data source and session) and some of the work you need to do when connecting to a data source.
- CDataSource
- Corresponds to an OLE DB data source object, representing a connection through a provider to a data source. One or more database sessions, each represented by a CSession object, can take place on a single connection.
- CEnumerator
- Corresponds to an OLE DB enumerator object, which retrieves rowset information about available data sources.
- CEnumeratorAccessor
- Used by CEnumerator to access the data from the enumerator rowset. This rowset consists of the data sources and enumerators visible from the current enumerator.
- CSession
- Represents a single database access session. One or more sessions can be associated with each CDataSource object.
Accessor Classes
- CAccessor
- Used for records that are statically bound to a data source. Use this accessor class when you know the structure of the data source.
- CAccessorBase
- Base class for all accessor classes.
- CDynamicAccessor
- An accessor that can be created at run time, based on the column information of the rowset. Use this class to retrieve data if you do not know the structure of the data source.
- CDynamicParameterAccessor
- An accessor that can be used when command types are unknown. Obtains the parameter information by calling the ICommandWithParameters interface, if the provider supports the interface.
- CDynamicStringAccessor
- Allows you to access a data source when you have no knowledge of the database's underlying structure.
- CDynamicStringAccessorA
- Similar to CDynamicStringAccessor except that this class requests data accessed from the data store as ANSI string data.
- CDynamicStringAccessorW
- Similar to CDynamicStringAccessor except that this class requests data accessed from the data store as UNICODE string data.
- CManualAccessor
- An accessor with methods to handle both columns and command parameters. With this class, you can use any data types as long as the provider can convert the type.
- CNoAccessor
- Can be used as a template argument when you do not want the class to support parameters or output columns.
- CXMLAccessor
- Similar to CDynamicStringAccessor except that this class converts all data accessed from the data store as XML-formatted (tagged) data.
Rowset Classes
- CAccessorRowset
- Encapsulates a rowset and its associated accessors.
- CArrayRowset
- Used to access elements of a rowset using array syntax.
- CBulkRowset
- Used to fetch and manipulate rows in bulk by retrieving multiple row handles with a single call.
- CNoRowset
- Can be used as a template argument if the command does not return a rowset.
- CRestrictions
- Used to specify restrictions for schema rowsets.
- CRowset
- Used to manipulate, set, and retrieve rowset data.
- CStreamRowset
- Returns an ISequentialStream object rather than a rowset; you then use the Read method to retrieve data in XML format. (SQL Server 2000 does the formatting; note that this feature works with SQL Server 2000 only.)
- IRowsetNotifyImpl
- Provides a dummy implementation for IRowsetNotify, with empty functions for the IRowsetNotify methods OnFieldChange, OnRowChange, and OnRowsetChange.
Schema Rowset Classes and Typedef Classes
The OLE DB Templates provide you with a set of classes that correspond to the OLE DB schema rowsets.
Command Classes
- CCommand
- Used to set and execute a parameter-based OLE DB command. To merely open a simple rowset, use CTable instead.
- CMultipleResults
- Used as a template argument for the CCommand template when you want the command to handle multiple result sets.
- CNoAccessor
- Used as a template argument for template classes, such as CCommand and CTable, that take an accessor class argument. Use CNoAccessor if you do not want the class to support parameters or output columns.
- CNoMultipleResults
- Used as a template argument for the CCommand template when you want the command to handle a single rowset. CNoMultipleResults is the default value for the template argument.
- CNoRowset
- Used as a template argument for CCommand or CTable if the command or table does not return a rowset.
- CTable
- Used to access a simple rowset with no parameters.
Property Classes
- CDBPropIDSet
- Used to pass an array of property IDs for which the consumer wants property information. The properties belong to one property set.
- CDBPropSet
- Used to set properties on a provider.
Bookmark Class
- CBookmark
- Used as an index for accessing data in a rowset.
Error Class
- CDBErrorInfo
- Used to retrieve OLE DB error information.
Example
See the ConfirmUser Sample and the ShowImage Sample.