Классы, используемые для доступа к БД
ATL предоставляет OLE DB шаблоны как С++ шаблоны для реализации клиентов и серверов OLE DB.
Для реализации клиента OLE DB провайдера можно использовать следующие классы:
CDataConnection - класс, управляющий соединением с источником данных и инкапсулирующий поведение объектов OLE DB "источник данных" (DataSource) и "сеанс" (Session).
CDataSource - класс, соответствующий объекту OLE DB источник данных, предоставляющий соединение с источником данных через OLE DB провайдера. Для одного соединения можно создать несколько объектов сеансов (CSession).
CEnumerator - класс, соответствующий объекту OLE DB нумератор, предоставляющему средства для получения наборов данных, содержащих информацию об источниках данных.
CEnumeratorAccessor - класс, используемый классом CEnumerator для доступа к данным из набора данных нумератора.
CSession - класс, реализующий сеанс доступа к базе данных.
CAccessor - класс аксессора, используемый для записей статически связанных с источником данных. Этот класс используется в том случае, если известна структура источника данных.
CAccessorBase - базовый класс всех классов аксессоров.
CDynamicAccessor - класс аксессора, используемый для результирующих наборов в том случае, если структура источника данных не известна (создание аксессора может быть определено в режиме выполнения).
CDynamicParameterAccessor - класс аксессора, используемого в том случае, если типы команды неизвестны. Получить информацию о параметрах можно посредством интерфейса IcommandWithParameters.
CDynamicStringAccessor - класс аксессора, позволяющий реализовать доступ к источнику данных, если структура базы данных неизвестна.
CDynamicStringAccessorA - класс аксессора, предоставляющий возможности аналогично классу CDynamicStringAccessor, но с тем ограничением, что данные, доступные из источника данных, были доступны как ANSI-строки данных.
CDynamicStringAccessorW - класс аксессора, предоставляющий возможности аналогично классу CDynamicStringAccessor, но с тем ограничением, что данные, доступные из источника данных, были доступны как UNICODE-строки данных.
CManualAccessor - класс аксессора, предоставляющий методы для связывания как столбцов, так и параметров во время выполнения.
CNoAccessor - используется в том случае, если не нужен класс для связывания параметров или столбцов результирующего набора.
CXMLAccessor - класс аксессора, предоставляющий возможности аналогично классу CDynamicStringAccessor, но с тем ограничением, что данные, доступные из источника данных, конвертируются в XML-формат.
CAccessorRowset - инкапсулирует работу с результирующим набором и соответствующим ему аксессором.
CArrayRowset - позволяет реализовывать доступ к результирующему набору как к массиву.
CBulkRowset - позволяет выполнять за один вызов функции выборку нескольких строк результирующего набора.
CNoRowset - может использоваться в том случае, если результирующий набор не возвращается (для CCommand или CTable).
CRestrictions - используется для задания ограничений для результирующих наборов схемы.
CRowset - применяется для извлечения данных и управления результирующим набором.
CStreamRowset - возвращает объект типа ISequentialStream, используемый далее для выборки данных в XML-формате (вызовом метода Read).
CCommand - применяется для задания и выполнения команд OLE DB; может использоваться для создания результирующих наборов; позволяет задавать параметры.
CMultipleResults - применяется для команд, создающих несколько результирующих наборов.
CNoMultipleResults - применяется по умолчанию для команд, создающих только один результирующий набор.
CTable - используется для доступа к результирующему набору без указания параметров.