Практическая работа "Проектирование в среде Delphi. Доступ к базе данных Microsoft Access"

Разделы: Информатика


Цели занятия.

Образовательные: изучить современную технологию создания приложения путем применения компонентов среды Delphi; изучить технологию ADO, обеспечивающую соединение с базой данных Microsoft Access; научить проектировать приложение и обеспечить доступ к БД MS Access “Детская поликлиника”.

Развивающие: развивать умение у обучающихся анализировать, делать самостоятельный вывод, а также развивать самоконтроль и взаимоконтроль.

Воспитательные: способствовать формированию таких качеств личности, как ответственное отношение к порученному делу; внимательность, способность к самовыражению.

Оборудование: персональный компьютер, рекомендации по практической работе, электронный учебник по Delphi7 для начинающих.

ПО: Microsoft Access, Borland Delphi7, готовая рабочая база данных “Детская поликлиника”.

Задание

Задание: Создать проект в Borland Delphi 7 и обеспечить доступ к ранее созданной БД Microsoft Access “Детская поликлиника”, используя компоненты среды Delphi, получить информацию из базы данных и представить ее в форме таблицы.

В Microsoft Access создана база данных “Детская поликлиника” и наполнена информацией (приложение).

Информационная система “Детская поликлиника” хранит информацию о врачах, пациентах, заболеваниях, детских учреждениях и предоставляет следующие данные:

  • информацию о враче (фамилия, специализация, стаж, оклад, совместительство);
  • данные о больном (фамилия, возраст, адрес, детское учреждение, место работы родителей, хронические заболевания, прививки, последнее обращение к врачу);
  • данные о детском учреждении (наименование, адрес, количество детей, наличие карантина, выявленные инфекционные заболевания, дата последнего профилактического обследования).
  • список детских учреждений, в которых зафиксированы инфекционные заболевания.

Среда разработки проекта в Delphi

Delphi – это среда быстрой разработки, в которой в качестве языка программирования используется язык Delphi. Язык Delphi – строго типизированный объектно-ориентированный язык, в основе которого лежит Object Pascal. Интегрированная среда позволяет создавать, компилировать, тестировать и редактировать проект в единой среде программирования [4].

Работа над новым проектом, так в Delphi называется разрабатываемое приложение, начинается с создания стартовой формы.

Форма (Form) – основа разработки в нее помещают необходимые компоненты, создают интерфейс программы. Свойства формы определяют ее внешний вид: размер, положение на экране, текст заголовка, др.

Для просмотра и изменения значений свойств формы и ее компонентов используется окно Object Inspector (Инспектор Объектов). В верхней части окна Object Inspector указано имя объекта, значения свойств которого отображается в данный момент. В левой колонке вкладки Properties (Свойства) перечислены свойства объекта, а в правой – указаны их значения (рис.1). Инспектор Объектов является дизайнером формы.

Исходный текст модуля разработки содержится в Окне редактора и имеет первоначальный заголовок Unit1.pas (рис.1). Проводник кода отображает объекты модуля формы (*pas), что позволяет быстро обращаться к объектам и создавать новые классы.

Рис. 1. Основные элементы среды разработки в Delphi

Файл модуля формы Unit1.pas (рис.1) содержит описание класса формы (размещение, поведение компонентов и функционирование обработчиков событий) и создается автоматически.

Любой проект имеет не менее шести файлов (табл.1).

Таблица 1

Основные файлы проекта

Файл

Назначение

Главный файл проекта (код проекта) – PROGECT.DPR Основной, представляет собой программу на языке Pascal.
Первый модуль программы (модуль формы) UNIT.PAS Автоматически появляется вначале работы его можно назвать любым другим именем. Содержит текст программы на языке Pascal.
Файл главной формы (описания формы) – UNIT.DFM Используется для сохранения информации о внешнем виде главной формы.
Файл описание ресурсов – PROGECT.RES Содержит иконку для проекта, создается автоматически.
Файл параметры проекта – PROGECT.OPT Текстовый файл для сохранения установок, связанных с данным проектом.
Модули - *.PAS Дополнительные Модули. Содержат текст программы на языке Pascal.

Разработка приложения состоит из двух этапов:

1. Создание интерфейса приложения.

2. Определение функциональности приложения.

Для создания интерфейса необходимо определить внешний вид проекта, выбрать нужные компоненты по функциональным возможностям и расположить на форме.

Для обеспечения функциональности приложения необходимо задать в Инспекторе Объектов значения свойств и процедур объектов событий, написать программный код обработки событий.

Установить измененные параметры проекта необходимо с помощью команды меню Project/Построить Project. Если требуется объединить несколько форм под единое начало – выполнить команду Project/Options.

Компиляция является обязательным процессом – процессом перевода всей программы с последующим исполнением. Данный процесс может быть выполнен на любой стадии разработки проекта. Компиляция создает:

- готовый к выполнению файл (*exe),

- динамически загружаемая библиотека (*DLL).

Запускать проект можно из среды Delphi командой Run/Run (Выполнить), из среды Windows (Название приложения.exe).

Создание приложения для работ с БД Access

Работа над новым проектом, так в Delphi называется разрабатываемое приложение, начинается с создания стартовой формы.

Создание закладок в конструкторе форм.

1. В Инспекторе Объектов изменить параметры некоторых свойств: Align —> alClient, color—>clMoneyGreen, caption—>Детская поликлиника, font, name—>Form (рис.1).

2. Создать закладки в конструкторе форм при помощи компонента PageControl на вкладке Win32 (таб.2) (Win32—>PageControl).

3. В окне Дерево Объектов создать Страницу (Контекстное меню—>Новая страница). В Инспекторе Объектов изменить параметры названия (Сaption—>Больной) (рис.2).

Рис. 2. Создание закладок в конструкторе форм

4. Аналогичным способом создать закладки, названия которых соответствуют названию таблиц в схеме данных БД MS Access (рис.7).

5. Поместить на форму компонент ADOConnection (вкладка ADO> ADOConnection) и выполнить его настройку (табл.2; рис.3).

      Таблица 2

      Значения свойств компонента ADOConnection

    Свойство Примечание
    PageControl Набор панелей с закладками. Каждая панель может содержать свой набор интерфейсных элементов и набирается щелчком по связанной с ней закладке.
    Вкладка Win32 Содержит интерфейсные элементы для 32 разрядных операционных систем Windows 2000.
    LoginPromt False
    ConnectionString Сделать щелчок на кнопке с тремя точками (находится в поле значения свойств). Сделать щелчок на кнопке Build.

    На вкладке поставщик данных выбрать Microsoft Jet 4.0 OLEDB Provider.

    На вкладке Подключение указать файл базы данных “Детская поликлиника”.

    Дополнительно указать Права доступа: ReadWtite.

Для включения асинхронного режима необходимо установить свойство ConnectOptions компонента TADOConnection в значение coAsyncConnect. В этом случае новые запросы будут выполняться, не ожидая ответа от предыдущих запросов.

Рис.3. Настройка ADOConnection в параметрах Инспектора Объектов

6. Поместить на форму компонент ADOTable(ADODB) (Вкладка ADO—>ADOTable ) и выполнить его настройку (табл.3; рис.3).

    Таблица 3

    Значения свойств компонента ADOTable(ADODB)

    Свойство Значение Примечание
    Connection Имя компонента ADOConnection, обеспечи-вающего соединение с БД Раскрыть список, находящийся в поле значения свойства, и выбрать имя компонента
    TableName Команда, обеспечивающая получение информации из определенной таблицы БД Раскрыть список, находящийся в поле значения свойства, и выбрать название нужной таблицы
    Active True  
    Технология ADO   Это синхронное/асинхронное выполнение операций с хранилищем данных. При помощи свойства connectoptions можно задать режим соединения с хранилищем данных
    TADODataSet TADOCoommand   Общие компоненты для работы с технологией ADO, позволяют выполнять команды на языке провайдера данных.
    DataSource Object   Хранилище данных.

7. Поместить на форму компонент DataSource (вкладка Data Access —> DataSource) и выполнить его настройку (табл. 4; рис.3)

    Таблица 4

    Значения свойств компонента DataSource

Свойство Значение Примечание
Connection Имя компонента ADODataSet Раскрыть список, находящийся в поле значения свойства, и выбрать имя компонента
DataSource Object   Хранилище данных.

8. Поместить на форму компонент DBGrid (вкладка Data Controls—>DBGrid) и выполнить его настройку (табл.5; рис.3)

    Таблица 5

    Значения свойств компонента DBGrid, Edit, Button

Свойство Значение Примечание
DataSource Имя компонен-та DataSource Раскрыть список, находящийся в поле значения свойства, и выбрать имя компонента
Align alClient  
DBGrid   Компонент предназначен для визуализации данных, их ввода и редактирования.
Edit   Строка ввода. Предназначена для ввода, отображения или редактирования одной текстовой строки.
Button   Командная кнопка. Обработчик события OnClick этого компонента обычно используется для реализации некоторой команды.

9. Аналогично создать другие графы таблицы (проекта “Детская поликлиника”). На рисунке 4 представлен результат правильно выполненных действий задания.

10. В графе “Зафиксированные инфек.заболевания” выполним запрос по датам обследования.

Для этого добавить компонент ADOQuery(ADODB). Значения данного компонента соответствуют значениям свойств компонента ADOTable(ADODB). В параметрах Инспектора Объектов введем SQL – команду:

ADOQuery1.Clear := True;

ADOQuery1.Add('SELECT DU.DU, DU_Adres.DU, DU.Inf_Zab, DU.Data_obs');

ADOQuery1.Add('FROM DU');

ADOQuery1.Add('WHERE ((DU.Data_Obs) BETWEEN (DateValue(''' + Edit1.Text + ''')) AND (DateValue(''' + Edit2.Text + ''')) );');

ADOQuery1.Active := True;

11. Поместить на форму компонент Edit1 и Edit2. В параметрах этих компонентов укажем дату по умолчанию: Edit1—>Text—>01.01.2009; Edit2—>Text—>31.12.2009.

12. Поместить на форму компонент Button (рис.5).

13. Создать процедуру обработки события Click, обеспечивающую выполнение SQL – команды.Процедура обработки события Click на кнопке “Обновить запрос” (Button1):

procedure TF.OtClick(Sender: TObject);

      var

      sqlfile: TextFile;

      i: Integer;

      begin

      ADOQuery1.SQL.Clear;

      ADOQuery1.SQL.Add('SELECT DU.DU, DU.Adres_DU, DU.Inf_Zab, DU.Data_obs');

      ADOQuery1.SQL.Add('FROM DU');

      ADOQuery1.SQL.Add('WHERE ((DU.Data_Obs) BETWEEN (DateValue(''' + Edit1.Text +''')) AND (DateValue(''' + Edit2.Text + ''')));');

      ADOQuery1.Active := True;

      AssignFile(sqlfile,'sql_instructions.txt');

      Rewrite(sqlfile);

      for i := 0 to ADOQuery1.SQL.Count-1 do Writeln(sqlfile, ADOQuery1.SQL.Strings[i]);

      CloseFile(sqlfile);

      end;

      Рис.5. Окно конструктора формы. Закладка “Зафиксированные инфекционные заболевания

    1. 14. Последний этап. Создание исполняемый файл – приложение Project1.exe при помощи процесса компиляции (Project/Compile<Project1>). Компилятор генерирует исполняемую программу как консольное приложение. Пример работы программы, т.е. вид окна программы после выполнения представлен на рис.6.

Рис.6. Исполняемый файл – приложение Project1.exe

Готовый проект - приложение в Delphi представлен в приложении.

Литература

  1. Дарахвелидзе П.Г., Марков Е.П. Программирование в Delphi 7. - СПб: БХВ – Петербург, 2003.
  2. Культин Н.Б. Программирование в Turbo Pascal 7.0 и Delphi 7. – СПб: БХВ – Петербург, 2007.
  3. Петров А. и др. Вычислительная техника и программирование. Высшая школа, 2008.
  4. Internet: www.PowerBuilder.sbn