Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка_Delphi.doc
Скачиваний:
28
Добавлен:
28.04.2019
Размер:
407.55 Кб
Скачать

Практическая работа Delphi_19

Цель: Получение навыков подключения баз данных по технологии ADO.

План разработки программы

ADO (Active Data Objects) - это высокоуровневый компонент технологии доступа к данным от Microsoft. (т.н. MDAC - Microsoft Data Access Components) Другие компоненты - это старый добрый ODBC и новый низкоуровневый интерфейс OLE DB.

Данными для ADO могут быть как привычные таблицы Access или серверные базы MS SQL или Oracle, так и несколько экзотичные Microsoft Active Directory Service, XML-файлы и т.п.

ADO- более новая технология чем ODBC, работает через интерфейс OLE DB.

Впрочем, можно использовать ADO и через ODBC. OLE DB превосходит ODBC по скорости и, похоже, Microsoft основную ставку делает именно на парочку ADO+OLE DB. Что касается баз Access то я очень бы посоветовал обратить на них внимание программистам, уставшим от «парадоксального» поведения Paradox+BDE. Начиная с версии Access 2000 Microsoft удалось догнать и перегнать старый, добрый Paradox (не менявшийся, насколько мне известно, уже довольно давно).

Практика

Microsoft Access, создаем простую базу данных с именем «kor.mdb».

У нас имеется база данных kor.mdb из пяти таблиц. Нам надо вывести одну из них в форму. Итак, ставим на форму компонент ADOConnection с вкладки ADO палитры компонентов, дважды кликнем по свойству ConnectionString появляется окно 'Form1.ADOConnection1 ConnectionString', выбираем второй вариант (Use Connection String) и нажимаем кнопку Build...

Далее выбираем из появившегося списка 'Microsoft Jet 4.0 OLE DB Provider' и переходим на вкладку Подключение. Там вводим путь к нашей базе данных, пользователя пароль, который устанавливать не обязательно и нажимаем «Проверить подключение».

2

Выносим на нашу форму компонент ADOTable с той же вкладки, в свойстве Connection указываем наш ADOConnection1 (можно просто выбрать из выпадающего списка), а теперь дважды кликнем по свойству TableName и должно появиться окно 'Database Login':

- оставляем его пустым и жмем ОК, в выпадающем списке появится список таблиц нашей базы данных

(а свойство Connected компонента ADOConnection1 должно стать True). Выбираем таблицу, которую нам необходимо вывести (обратите внимание, что для вывода каждой таблицы необходим отдельный компонент ADOTable, но ADOConnection для всех один!).

3

Теперь устанавливаем на форму компонент DataSource со вкладки Data Access. Свойство DataSet этого компонента меняем на ADOTable1 (опять выпадающий список). Ставим DBGrid с вкладки Data Controls и свойству DataSource присваиваем значение DataSource1. 

Вот и все! Стоит теперь у компонента ADOTable1 поменять значение свойства Active на True и в DBGrid отобразится таблица из нашей базы данных.

Примечание 1: Учтите, что иногда при изменениях свойств некоторых компонентов свойство Active автоматом сбрасывается в False, поэтому не забывайте потом опять присваивать ему True.

Примечание 2: Чтобы каждый раз при запуске программы не вылезало окно 'Database Login', установите свойство LoginPrompt компонента ADOConnection равным False.

Примечание 3: Если вы хотите, чтобы в одном компоненте DBGrid отображались данные из нескольких таблиц, либо данные, удовлетворяющие некоторым условиям, вам надо воспользоваться возможностями языка SQL. Для этого вместо компонента ADOTable надо использовать ADOQuery. Набор его свойств аналогичен ADOTable, но нет свойства TableName, зато есть свойство SQL типа TStrings. Например, если свойству SQL присвоить значение 'SELECT * FROM Корреспонденты Города', то в DBGrid будут отображены данные сразу двух таблиц - Корреспонденты и Города.

44