Московский государственный университет имени М.В.Ломоносова
Опубликован: 20.12.2005 | Доступ: свободный | Студентов: 3142 / 371 | Оценка: 4.22 / 3.86 | Длительность: 12:03:00
ISBN: 978-5-9556-0068-0
Лекция 11:

Реализация доступа к базам данных в среде VISUAL STUDIO.NET на языке С++ с применением ATL

< Лекция 10 || Лекция 11: 12345 || Лекция 12 >
Аннотация: Рассматриваются классы, используемые для доступа к данным, описывается механизм доступа к БД посредством ATL, приводится алгоритм реализации выборки данных, их отображения, и редактирования результирующего набора.

Классы, используемые для доступа к БД

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 - используется для доступа к результирующему набору без указания параметров.

< Лекция 10 || Лекция 11: 12345 || Лекция 12 >