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

В этом разделе рассматриваются основные особенности использования технологии ADO. Описанный далее пример повторяет пример, рассмотренный в разделах2, 3и4.

Процесс создания проекта можно представить в виде последовательности из 6-тишагов.

      1. Создание модуля данных

Начните новый проект и добавьте к нему модуль данных или создайте копию уже существующего проекта с BDE.

В случае нового проекта поместите в модуль данных компонент ADOConnetion,5компонентовADOTable(вкладкаADOпалитры компонентов) и два компонентаDataSource(вкладкаData Access).

Назовите таблицы ADOTableименамиtbNakls,tbMove, tbFirms, tbBooks, tbTypeNи свяжите источник данныхDataSource1с таблицейtbNakls, а источник данныхDataSource2- с таблицейtbMove(рисунок11.2).

В случае существующего проекта с BDEзамените в модуле данных компонентTDataBaseна компонентADOConnetion, а5компонентовTTableна5компонентовADOTable.

Результирующий вид модуля данных приведен на рисунке 10.2.

Рисунок 7.57 – Модуль данных и дерево объектов

      1. Начало настройки связи

Установление связи с объектом ADO является ключевым моментом всей технологии. Каждый компонент НД имеет 2-а свойства, с помощью которых он может установить связь с объектом ADO:

  • Connection;

  • ConnectionString.

В свойство Connection помещается ссылка на специальный связной компонент ADOConnection, играющий роль концентратора соединения с объектом ADO. В свойство ConnectionString помещается собственно строка связи. Эти свойства взаимоисключающие, то есть установка значения в одно из них ведет к очистке второго.

Рассмотрим процесс настройки связи объектов ADOс соответствующим провайдером на примере компонентаADOConnection. Для отдельных компонентADOTableон полностью аналогичен.

Дважды щелкните на компоненте ADOConnection1или выделите егов окне инспектора объектов и щелкните на кнопке с многоточием в строке свойства ConnectionString, чтобы вызвать окно (рисунок 10.3) настройки связи (строки связи).

Рисунок 7.58 –Окно настройки связи

Строка связи несет в себе множество (не менее 2-х) параметров, отделенных друг от друга точкой с запятой. Собственно в технологии ADO используются лишь четыре из них, остальные нужны для идентификации пользователя при доступе к серверным БД и для настройки некоторых параметров ODBC-драйверов.

У программиста есть 2-е возможности установить связь:

  1. Сослаться на специальный связной файл в первой строке;

  2. Сформировать описание связи во второй.

В 1-ом случае можно использовать один и тот же файл сразу для нескольких соединений, поэтому изменение файла отразится на многочисленных связях, причем, возможно, не в одной программе.

Во 2-ом случае содержимое строки связи влияет только на соответствующий компонент-набор или только на те компоненты, которые будут ссылаться на данный связной компонент и только внутри одной программы.

Мы рассмотрим только 2-ой случай как более строгий.

      1. Выбор провайдера

Выберите переключатель Use Connection String и щелкните на кнопке Build.

На экране появится диалоговое окно с 4-мя вкладками.

Вкладка Поставщикданных (рисунок10.4) используется для выбора механизма, который будет непосредственно взаимодействовать с данными, получая их от клиента и посылая их ему. Фактически в списке этой вкладки отображается состав провайдеровOLE DB, установленных на вашей машине.

Рисунок 7.59 –Настройка связи: выбор провайдера

Выбор провайдера является определяющим фактором. Для разных типов данных должны использоваться только строго определенные провайдеры.

В файл-серверных БДдолжен использоваться толькоMicrosoftOLE DBProviderforODBCdriverс предварительной настройкой соответствующего драйвера.

Примечание.ODBCдрайвер может работать не толко с файл-сервернымиБД. Так ранее нами он был использован для работы сБДPostgreSQL.

Для работы с БДPostgreSQLможно использоватьODBCдрайвер и провайдерMicrosoftOLE DBProviderforODBCdriver, но элегантнее обойтись безODBCи выбрать провайдерMicrosoftJet 4.0OLE DBProvider.

Если используется сервер OracleилиMSSQL Server,БДработает совместно соответственно с провайдеромMicrosoftOLE DBProviderforOracleилиMicrosoftOLE DBProviderforSQL Serverи т. д.

Некоторые типы данных (например, БДInterBaseилиInformixSQL Server) не имеютOLE DBпровайдеров и поэтому (пока не будут созданы нужные провайдеры) они непосредственно не могут использоваться в технологииADO, но этот недостаток устраняется, если для них существует соответствующий ODBCдрайвер.