Лекция 5.9. Доступ к данным с использованием ADO
Начиная с пятой версии, в Delphi включены компоненты для доступа к данным, использующим технологию Microsoft ActiveX Data Objects – стандартного обращения к реляционным данным фирмы Microsoft.
Эта технология аналогична BDE по назначению и довольно близка по возможностям. Используемые компоненты для доступа к данным также довольно похожи на соответствующие компоненты BDE. Поэтому, не вдаваясь в подробности, рассмотрим только особенности компонентов ADO при работе с локальными базами данных.Все использующие ADO компоненты доступа к данным размещены на странице ADO палитры компонентов.
Основные компоненты ADO - TADOTable и TADOQuery, они аналогичны компонентам ТТаble и TQuery. Главное отличие состоит в процедуре настройки связи с таблицей базы данных. В ADO компонентах для доступа к БД используется, так называемая строка подключения ConnectionString: WideString. В строке подключения указываются параметры подключения к БД такие как местоположение и имя БД, провайдеры, пароли необходимые для подключения и т.д. Запомнить состав строки и ее синтаксис довольно сложно, поэтому для ее настройки используется специальный мастер.
Первый шаг задания свойства ConnectionString, это выбор способа определения подключения. База данных может быть указана двумя способами: через файл формата Microsoft Data Link (расширение UDL) либо прямым заданием параметров соединения (см. рисунок 5.9.1).
Рисунок 5.9.1 - Выбор способа определения строки подключения
При прямом задании соединения значение свойства ConnectionString может быть задано напрямую в поле ввода окна диалога ConnectionString. Однако обычно проще использовать специальный мастер, вызываемый щелчком на кнопке с многоточием в конце поля ввода. При этом открывается окно диалога Data Link Properties, в котором выбираются тип базы данных, ее местоположение и параметры соединения (см.
рисунок 5.9.2). Данное окно диалога содержит четыре вкладки:1. на вкладке Provider (Поставщик данных) выбирается тип БД. Базы данных Microsoft Access доступны через драйверы Microsoft Jet OLE DB Provider и Microsoft OLE DB Provider for ODBC. Базы данных dBase, Paradox и FoxPro доступны только через ODBC;
2. состав элементов управления вкладки Connection (Подключение) зависит от выбранного типа БД. На рисунке 5.9.3, а и б приведены возможные варианты. Рассмотрим вариант выбора соединений Microsoft Jet OLE DB Provider и Microsoft OLE DB Provider for ODBC:
· флажок Blank password подавляет отображение окна диалога для ввода идентификатора и пароля пользователя при установлении соединения, если поле пароля пустое;
· флажок Allow saving password сохраняет пароль в строке параметров соединения. Если флажок не установлен, то введенный пароль будет использоваться только при выполнении тестового соединения;
· кнопка Test Connection позволяет проверить правильность и полноту параметров;
· переключатель Use data source name позволяет ввести предустановленный псевдоним ODBC, а в положении Use connection string вводится как псевдоним, так и тип ODBC драйвера и параметры соединения;
· путь к базе данных задается в поле ввода Select or enter a database name для соединения Microsoft Jet OLE DB Provider или в поле ввода Use data Source name для соединения Microsoft OLE DB Provider for ODBC. Причем в первом случае при щелчке на кнопке с многоточием, расположенной справа от поля ввода, появится окно диалога открытия файла, с помощью которого выбирается необходимый файл базы данных. Во втором случае путь к базе данных приходится вводить вручную;
Рисунок 5.9.2 - Окно диалога Data Link Properties (вкладка Provider)
3. на вкладке Advanced (Дополнительно) расположены дополнительные параметры, с помощью которых устанавливаются уровень доступа к файлу базы данных, время ожидания сетевого соединения (то есть время, через которое связь будет считаться потерянной, если сервер не отвечает) и уровень защиты соединения;
4.
на вкладке All (Все) можно отредактировать все параметры с предыдущих страниц и параметры, зависящие от выбранного соединения, не помещенные на вкладку Connection. Редактирование осуществляется путем ввода значений параметров в текстовой форме. Описание этих параметров можно найти в следующих документах: MSDN Data Access Services, Microsoft Data Access Components (MDAC) SDK, Microsoft ActiveX Data Objects (ADO), Microsoft ADO Programmers Reference, Using Providers with ADO.В остальном, работа с компонентом ADOTable и ADOQuery практически ничем не отличается от работы аналогичных компонентов использующих механизм доступа BDE.
Рассмотрим пример реализации доступа к данным БД с использованием ADO:
1. Создайте главную форму приложения
2. Разместите на форме компонент для отображения данных в табличной форме TDBGrid и источник данных TDataSource.
3. Подключите DBGrid1 через свойство DataSource к компоненту DataSource1.
4. Поместите на форму компонент TADOTable.
5. Подключите DataSource1 через свойство DataSet к ADOTable1.
а б
Рисунок – 5.9.3. Состав элементов управления вкладки Connection
6. Выполните подключение ADOTable1 к таблице БД, для этого в инспекторе объектов в поле свойства ConnectionString щелкните по кнопке с многоточием.
ü В раскрывшемся окне диалога ConnectionString оставьте переключатель в положении Use Connection String и нажмите кнопку Build. В результате откроется окно диалога Data Link Properties.
ü Выберите поставщика данных, в данном случае используем Microsoft Jet 4.0 OLE DB Provider (рисунок 5.9.2) и нажмите кнопку Next (Далее).
ü Для указания пути к БД нажмите на кнопке с многоточием напротив поля Select or enter a database name (рисунок 5.9.3, а) и в раскрывшемся окне диалога выберите БД (любой файл с расширением .mdb).
ü Проверьте правильность подключения к БД. Для этого нажмите кнопку Test Connection (Проверить подключение). Если проверка прошла успешно, то можно нажать кнопку ОК, в противном случае проверьте правильность настройки параметров подключения, возможно неуказан пароль.
7. Выберите необходимую для работы таблицу БД, для этого из раскрывающегося списка свойства TableName выберите требуемую таблицу.
8. Включите НД, для этого присвойте свойству ADOTable1.Active значение true.
9. Выполните компиляцию и тестирование приложения.
Вопросы для самоконтроля
1. В чем разница в подключениях к БД компонентов ADO и BDE?
2. В чем назначение свойства ConnectionString?
3. Для чего необходим файл Use Data Link?
4. Назовите назначение вкладок окна диалога Data Link Properties.
5. Что такое Provider?
6. Почему изменяется внешний вид вкладки Connection?
7. Какие поставщики данных вам известны и для чего они используются?
Еще по теме Лекция 5.9. Доступ к данным с использованием ADO:
- 2. Початковий етап розслідування
- 99. необходимость планирования МК, его механизм.
- Понятие и виды объектов гражданских правоотношений
- Трудности образования множественного числа имен существительных
- Відповіді до іспиту з економічної теорії, 2018