Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Проектирование БД в Delphi ВТиП.doc
Скачиваний:
53
Добавлен:
17.03.2016
Размер:
3.62 Mб
Скачать
  1. Технология ado

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

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

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

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

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

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

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

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

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

Если используется промышленный сервер данных OracleилиMSSQL Server, данные не нуждаются в какой-либо предварительной подготовке, а в роли провайдера используется соответственноMicrosoftOLE DB Provider forOracleилиMicrosoftOLE DBProvider forSQL Server.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Компоненты

TDataSource

Визуальные

компоненты

Сервер

Клиент

Рисунок 7.56 – Реализация технологии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.