Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Proektirovanie_BD_v_Delphi_VTiP.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.82 Mб
Скачать

8Технология ado

8.1Основные особенности технологии ado

Особенности технология ADO (ActiveX Data Objects — объекты данных, построенные как объекты ActiveX) более подробно рассмотрены в подразделе 1.5. Здесь важно подчеркнуть следующее:

  1. Основные особенности использования технологии ADO не зависят от архитектуры БД. Эта технология характерна для файл-серверных, клиент-серверных и трехзвенных БД. Она обеспечивает универсальный способ доступа к самым разнообразным источникам данных — от серверов SQL до электронных таблиц типа Excel.

  2. Основным достоинством технологии ADO является ее естественная ориентация на создание облегченного (тонкого) клиента.

В рамках этой технологии:

  1. На машине разработчика БД устанавливаются базовые объекты MS ADO (C:\Program Files\Common Files\System\ADO);

  2. На машине сервера данных устанавливается провайдер (поставщик) данных — надстройка над специальной технологией нижнего уровня OLE DB, которая воспринимает запросы объектов ADO и переводит их в нужные действия с данными;

  3. Взаимодействие компонентов ADO и провайдера осуществляется на основе универсальной для Windows технологии ActiveX, причем провайдер реализуется как СОМ-сервер, а ADO-компоненты — как СОМ-клиенты.

На машине сервера данных создается и размещается источник данных. В случае файл-серверных систем отдельные таблицы типа dBASE, FoxPro, Paradox и т. п. должны управляться соответствующим ODBC-драйвером, а в роли провайдера используется Microsoft OLE DB Provider for ODBC drivers.

Если используется промышленный сервер данных Oracle или MS SQL Server, данные не нуждаются в какой-либо предварительной подготовке, а в роли провайдера используется соответственно Microsoft OLE DB Provider for Oracle или Microsoft OLE DB Provider for SQL Server.

Если для какого либо промышленного сервера, например, InterBase, Informix, DB2 и ряда других нужные провайдеры отсутствуют, то можно воспользоваться их ODBC-драйверами.

8.2Реализация технологии ado в Delphi

Компоненты ADO в палитре компонентов Delphi представляют собой надстройки над базовыми объектами MS ADO и представляют большинство свойств, методов и событий этих объектов в привычном для Delphi виде. В результате работа с такими компонентами практически полностью совпадает с работой с компонентами BDE.

У MS ADO имеется 7 базовых объектов: Connection, Recordset, Command, Parameter, Field Error и Property.

Базовые объекты MS ADO обычно сопровождаются коллекциями связанных с ними объектов. Например, с объектом:

  • Connection может быть связан один или несколько объектов Error, фиксирующих ошибки установления связи;

  • Recordset — набор объектов Field, каждый из которых определяет единственное поле результирующего НД;

  • Command — один или несколько объектов Parameter, конкретизирующих выполнение метода Execute этого объекта, и коллекция объектов Error и т. д.

В связи с этим говорят об основных - Connection, Recordset и Command, и вспомогательных - Error, Field и Parameter Property, базовых объектах ADO.

Базовые объекты MS ADO входят в комплект поставки Delphi. Они устанавливаются в Windows, если в окне установки Delphi не снят флажок Install/Upgrade Microsoft Data Access Client.

На основе базовых объектов MS ADO в Delphi созданы соответствующие компоненты-наборы TADOTable, TADOQuery, TADOStoredProc, повторяющие в функциональном отношении компоненты BDE соответственно - TTable, TQuery, TStoredProc.

Кроме того, в Delphi входят компоненты TADOConnection, TADOCommand, TADODataSet, TRDCConnection. Связь между базовыми объектами MS ADO и соответствующими компонентами Delphi рассматривается ниже в разделе 10.4.

Компонент для создания хранимых на сервере процедур TADOStoredProc и компонент TRDSConnection, созданный для упрощения связи с MS Internet Explorer при разработке интранет-приложений, предназначены для поддержки соответственно клиент-серверной и трехзвенной архитектур и здесь рассматриваться не будут.

Обобщенная структура реализации технологии ADO в Delphi приведена на рисунке 10.1. На рисунке со стороны клиента показаны только 4-ре наиболее распространенные компоненты ADO в Delphi

Компоненты

TDataSource

Визуальные

компоненты

Сервер

Клиент

Рисунок 7.66 – Реализация технологии ADO в Delphi

На машине клиента располагаются связные компоненты TADOConnection и компоненты-наборы данных TADOTable, TADOQuery, TADOStoredProc, а также не показанные на рисунке компоненты-наборы TADODataSet и командные компоненты TADOCommand. Каждый из этих компонент может связываться с провайдером данных одним из двух способов:

  • с помощью специального связного компонента TADOConnection;

  • минуя связной компонент и используя собственное свойство ConnectionString.

Компонент TADOConnection играет роль концентратора соединений с источником данных компонентов-наборов, и в этом смысле он подобен компоненту TDatabase в традиционной архитектуре с BDE, однако без него можно и обойтись.

Компонент-набор TADODataSet является универсальным компонентом связи с наборами данных. Он может работать в различных режимах, заменяя компоненты TADOTable, TADOQuery и TADOStoredProc, и может связываться с одной или несколькими таблицами БД. Его связь с БД может осуществляться непосредственно или через компонент TADOConnection.

Командный компонент TADOCommand предназначен для реализации SQL-запросов, которые не возвращают данные (запросы типа CREATE, DROP, UPDATE и т. п.).

Компоненты-наборы с помощью компонентов-источников TDataSource и визуализирующих компонентов TDBGrid и т.п. обеспечивают необходимый интерфейс с пользователем программы.

В качестве общей характеристики использования ADO в Delphi можно отметить, что по некоторым параметрам BDE предпочтительнее ADO, а по другим ADO предпочтительнее BDE. Так, например:

  • Скорость доступа к данным с помощью средств СОМ, являющихся краеугольным камнем ADO, в общем случае оказывается заметно ниже скорости, обеспечиваемой традиционным для Delphi механизмом на основе BDE;

  • Источники данных ADO не всегда могут работать со всеми типами полей конкретной СУБД;

  • ADO поставляется с Windows и поэтому не требуется заботиться об установке на машине заказчика BDE;

  • ADO не имеет проблем с кириллицей;

  • ADO.Net является основным средством работы с БД в технологии .Net и различных реализациях Java.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]