Технология ADO
Технология Microsoft ActiveX Data Objects (ADO) представляет собой универсальный механизм доступа к различным источникам данных из приложений баз данных. Основу технологии ADO составляет использование набора интерфейсов общей модели объектов СОМ, описанных в спецификации OLE DB. Достоинством этой технологии является то, что базовый набор интерфейсов OLE DB имеется в каждой современной операционной системе Microsoft. Отсюда следует простота обеспечения доступа приложения к данным. При использовании технологии ADO приложение БД может использовать данные из электронных таблиц, таблиц локальных и серверных баз данных, XML-файлов и т.д.
В соответствии с терминологией ADO любой источник данных (базу данных, файл, электронную таблицу) называют хранилищем данных. Приложение взаимодействует с хранилищем данных с помощью провайдера. Для каждого типа хранилища данных используется свой провайдер ADO. Провайдер обеспечивает обращение к данным хранилища с запросами, интерпретацию возвращаемой служебной информации и результатов выполнения запросов для передачи их приложению.
Все объекты и интерфейсы ADO являются объектами и интерфейсами СОМ. Согласно спецификации OLE DB в состав СОМ входит следующий набор объектов:
Command (команда) - служит для обработки команд (обычно SQL-запросов);
Data Source (источник данных) - используется для связи с провайдером данных;
Enumerator (перечислитель) - служит для перечисления провайдеров ADO;
Error (ошибка) - содержит информацию об исключениях;
Rowset (набор рядов) - строки данных, являющиеся результатом выполнения команды;
Session (Сессия) - совокупность объектов, обращающихся к одному хранилищу данных;
Transaction (транзакция) - управление транзакциями в OLE DB.
В системе программирования С++ Builder компоненты, используемые для создания приложений по технологии ADO, расположены на странице ADO Палитры компонентов. Охарактеризуем кратко назначение этих компонентов:
ADOConnection - ADO-соединение, используется для установки соединения с ADO-источником данных и обеспечивает поддержку транзакций;
ADOCommand - ADO-команды, используются для выполнения SQL-команд доступа к ADO-источнику данных без возвращения результирующего набора данных;
ADODataSet - набор данных ADO, обеспечивает доступ к одной или более таблице ADO-источника данных и позволяет другим компонентам управлять этими данными, связываясь с компонентом через компонент Datasource аналогично тому, как используется компонент Dataset. Может использоваться в компонентах ADOTabie, ADOQuery, ADOStoredProc;
ADOTabie - таблица ADO, обеспечивает доступ к одной таблице ADO-источника данных и позволяет другим компонентам управлять этими данными, связываясь с компонентом ADOTable через компонент DataSource;
ADOQuery - запрос ADO, позволяет выполнять SQL-команды для получения информации из ADO-источника данных и позволяет другим компонентам управлять этими данными, связываясь с компонентом ADOTable через компонент DataSource;
ADOStoredProc - хранимая процедура ADO, позволяет приложениям получать доступ к хранимым процедурам, используя интерфейс ADO;
RDSConnection - RDS-соединение, служит для управления передачей объекта Recordset от одного процесса (компьютера) к другому. Компонент используется для создания серверных приложений.
Компонент ADOconnection может использоваться как посредник между данными и другими компонентами ADO, что позволяет более гибко управлять соединением. Возможен вариант использования других компонентов ADO путем установления соединения с источником данных напрямую. Для этого компоненты ADO имеют свойство ConnectionString, с помощью которого могут создавать свой собственный канал доступа к данным.
Cоздадим в программе Access какую-нибудь простенькую базу данных с одной или несколько таблиц. Надеюсь вы знаете как это делать. Если нет, то советую почитать книгу "Microsoft Office Access для чайников", очень хорошая книга.
Все компоненты для работы с ActiveX Data Object (ADO) находятся на закладке под одноименным названием. Для начала нам понадобится поместить на форму компонент TADOConnection - именно он будут отвечать за связь нашего приложения с физической базой данных. Далее не забудьте поместить и TDataSource - без него мы не сможем графически отобразить данные, он необходим для связи Data Controls компонентов с компонентом TADOTable, который тоже поместите на форму (он нужен для связи с конкретной таблицей БД, аналогично TTable из BDE).
Do'stlaringiz bilan baham: |