Название процедуры
|
Назначение
|
ADD_GOROD
|
Добавление записи о городе
|
ADD_DOLZHNOST
|
Добавление записи о должности
|
ADD_DIAGNOZ
|
Добавление записи о диагнозе
|
ADD_VRACHI
|
Добавление записи о враче
|
Добавление записи о пациенте
|
DEL_ GOROD
|
Удаление записи о городе
|
DEL_ DOLZHNOST
|
Удаление записи о должности
|
DEL_ DIAGNOZ
|
Удаление записи о диагнозе
|
DEL_ VRACHI
|
Удаление записи о враче
|
DEL_ PACIENT
|
Удаление записи о пациенте
|
UPDATE_ GOROD
|
Обновление записи о городе
|
UPDATE_ DOLZHNOST
|
Обновление записи о должности
|
UPDATE_ DIAGNOZ
|
Обновление записи о диагнозе
|
UPDATE_ VRACHI
|
Обновление записи о враче
|
UPDATE_ PACIENT
|
Обновление записи о пациенте
|
Исключения
представляют собой именованное сообщение об ошибке. В базе данных «Телефонный
справочник поликлиники» предусмотрено одна исключительная ситуация, которые
продемонстрированы в таблице на рисунке 10.
Рисунок 10. Исключения БД
«Телефонный справочник поликлиники»
2.2 Программирование на
стороне клиента
.2.1 Разработка windows-приложения
Создадим новый проект, затем
создадим DataModule (по умолчанию DataModule2) на котором будем размещать все невидимые компоненты для доступа
и работы с БД. Далее поместим на форму компонент IBDatabase1 и IBTransaction1, настроим
компонент IBDatabase1 как показано на рисунке (Рис. 11), но это в случае если база
данных располагается на локальном компьютере.
Рис. 11. Окно настройки соединения
БД на локальном компьютере
В случае если БД располагается на
удаленном сервере, то настройка будет другая (Рис. 12):
Рис. 12. Окно настройки соединения с
БД на сервере
.2.2 Создание интерфейса
приложения
Часть разработанного интерфейса и
выполнение различных действий при работе с БД будем рассматривать на примере
таблицы «Пациент» так как, интерфейс остальных таблиц а так же действия над
ними одинаковые.
Создадим интерфейс по своему вкусу,
но сточки зрения хорошей и удобной функциональности (Рис. 13).
Рис. 13. Окно приложения с таблицей
Пациент
2.2.3 Получение доступа
к данным
Для того чтобы получить доступ к
таблице поместим на DataModule2 DBGrid, IBQuery, DataSource.
Настроим следующие свойства у
компонентов:
IBQuery2:
DataBase=IBDataBase1;>ttViev=true;=
VIEW_PACIENT;=true.
DataSource4:
DataSet= IBTable4.
DBGrid4:
DataSource=
DataModule2->DataSource4
Рис. 14. Окно приложения
2.2.4 Добавление
информации
Добавление реализуем через созданную
ранее хранимую процедуру на добавление: ADD_PACIENT, для этого поместим на DataModule2 компонент IBStoredProc1 и настроим у него
следующие свойства:
DataBase=IBDatabase1;=
ADD_PACIENT.
Для удобства добавления создадим все
компоненты на главной форме (Рис. 15).
Рис. 15 Окно добавления информации в
таблицу «Пациент»
В процессе работы мы заполняем все
данные в поля (Рис. 16), какой пациент и нажимаем кнопку «Добавить», запись
будет добавлена в таблицу БД.
Рис. 16. Окно добавления записей в
таблицу «Пациент»
Теперь посмотрим, что новая запись
была добавлена (Рис. 17):
Рис. 17. Окно приложения. Информация
добавлена в табилцу
2.2.5 Обновление
информации
Обновление информации реализуем так
же через хранимую процедуру созданную ранее, процедуру на обновление, для этого
поместим на DataModule2 компонент IBStoredProc2 и настроим у него следующие свойства:
DataBase=IBDatabase1;=
UPD_PACIENT.
Для удобства обновления создадим на
главной форме все компоненты, чтобы их было удобней редактировать (Рис. 18).
Рис. 18. Окно обновления информации
в таблице Пациент
Затем в обработчике события OnClick кнопки обновить
пропишем следующий код:
DataModule2->IBStoredProc11->ParamByName
(«ID»)->AsString=Form1->Edit23->Text;->IBStoredProc11->ParamByName
(«FIO»)->AsString=Form1->Edit20->Text;->IBStoredProc11->ParamByName
(«VOZRAST»)->AsString=Form1->Edit21->Text;->IBStoredProc11->ParamByName
(«ID_VRACHA»)->AsString=Form1->DBEdit2->Text;->IBStoredProc11->ParamByName
(«ID_GOROD»)->AsString=Form1->DBEdit3->Text;->IBStoredProc11->ParamByName
(«TELEFON»)->AsString=Form1->Edit22->Text;->IBStoredProc11->ParamByName
(«ID_DIAGNOZ»)->AsString=Form1->DBEdit5->Text;->IBStoredProc11->Prepare();->IBStoredProc11->ExecProc();->IBTable4->Active=false;->IBTable4->Active=true;
Теперь после того как нужная запись
отредактирована, нажимаем кнопку обновить и получаем удовлетворяющий нас
результат, то есть запись обновлена (Рис. 19).
2.2.6 Удаление
информации
Для удаления информации мы будем
использовать запрос на удаление DEL_PACIENT для этого помещаем в датамодуль компонент IBStoredProc3 и указываем процедуру
использования базы данных.
В обработчике события OnClick кнопки удалить
пропишеммследующий код:
DataModule2->IBStoredProc12->ParamByName
(«ID»)->AsString=Form1->Edit27->Text;->IBStoredProc12->Prepare();->IBStoredProc12->ExecProc();->IBTable4->Active=false;->IBTable4->Active=true;
Рассмотрим пример удаления.
Вводим код Пациента (Рис. 20).
Рис. 20. Удаление записи из таблицы
Пациент. Выделение записи
Нажимаем кнопку удалить и видим
результат, запись удалена (Рис. 21).
Рис. 21. Окно приложения. Запись
удалена
2.2.7 Поиск информации
Для реализации поиска, поместим на
форму компонент Edit. В обработчике события OnChange пропишем следующий код:
TLocateOptions
LO;->IBTable4->Locate («FIO», Edit24->Text,
LO<<loPartialKey<< loCaseInsensitive);
Результат следующий: (Рис. 22):
Рис. 22. Окно приложения. Поиск
информации.
2.2.8 Фильтрация
информации
Для реализации фильтрации, поместим
на форму два компонента Edit (для задания диапазона фильтрации данных) и компонент Button чтобы подать запрос для
фильтрации. В обработчике события OnClick компонента Button (Фильтровать), пропишем следующий код:
DataModule2->IBTable4->Active=false;->IBTable4->Filtered=false;->IBTable4->Filter=«FIO>='
«+Edit25->Text+» 'and FIO<=' «+Edit26->Text+» '»;2->IBTable4->Filtered=true;
Вся фильтрация данных будет
производиться по полю «Ф.И.О.» и будут показаны те записи диапазон которых был
введен (Рис. 23).
Рис. 23. Окно приложения. Фильтрация
данных
После ввода диапазона показываемых
записей от буквы «А» до «Я», нажимаем на кнопку «Фильтровать» и программа
показывает необходимые записижно, чтобы вернуться в исходный вид, нужно
конечное значения поставить букву «Я», соответственно будут показаны все записи
этого диапазона (все записи таблицы).
2.2.9 Сортировка данных
Для реализации сортировки в
обработчике события OnTitleClick компонента DBGrid пропишем следующий код:
DataModule2->IBTable4->Active=false;->IBTable4->IndexFieldNames=Column->FieldName;
DataModule2->IBTable4->Active=true;
По сути этот код будет передавать в
свойство IndexFieldNames компонента IBTable4 название столбцов (физическое) и по ним будет произведена
сортировка.
Рис. 24. Окно
приложения. Сортировка данных
2.2.2 Разработка web-приложения
Чтобы начать проектирование
приложения, необходимо создать новый проект из приложений php на настроенном
топсервере.
Создадим файл db.php (рисунок 25).
Рис. 25. Соединение с
базой данных.
2.3.2 Получение доступа
к данным (отображение данных)
Пример проектирования Web - приложения для работы
с БД с использованием технологии php разберём на примере таблицы Пациент.
Изначально у нас открывается index.html слева в меню
отображаются ссылки на сущности:
Рис. 26. Главная страница Web - приложения
«Телефонный справочник поликилинки»
Для того, чтобы отобразить сущность
на странице прописываем определённый код в файле view_pacient
В результате получается следующее
отображение:
Рис. 27. Отображения таблицы
«Пациент» в приложении
2.3.3 Добавление
информации
Добавление будет осуществляться
через созданную ранее хранимую процедуру: ADD_PACIENT. Для этого вызовим
процедуру в коде при помощи команды EXECUTE PROCEDURE.
Создадим html приложение форму для
ввода (рисунок 28).
Рис. 28. Форма добавления информации
в таблицу «Пациент»
Рассмотрим как работает вставка.
Сначала щелкаем по кнопке «Добавить» перед нами появляется форма, которую мы
заполняем (Рис. 29).
Рис. 29. Заполнение формы для
добавления информации в таблицу «Пациент»
Нажимаем кнопку «Добавить запись» и
просматриваем результат (Рис. 30).
Рис. 30. Результат добавления записи
в таблицу «Пациент»
2.3.4 Обновление
информации
Обновление информации мы будет
осуществляться так же через хранимую процедуру UPD_PACIENT
Для ввода новой информации создадим
форму в html файле, которая будет вызывать запрос на обновление. После
выполнения программы она выглядит следующим образом:
Рис. 31. Форма обновления информации
в таблицу «Пациент»
Рассмотрим как работает процесс
обновления информации.
Вводим новую информацию и
обязательно указываем код записи (ID) которую нужно обновить (Рис. 32).
Рис. 32. Заполнение формы для
обновления информации в таблице «Ученик»
Нажимаем кнопку «Обновить запись» и
видим результат (Рис. 33).
Рис. 33. Результат обновления записи
в таблице «Пациент»
2.3.5 Удаление
информации
Для реализации удаления информации
используем процедуру на удаление DEL_UCHENIK
Рис. 34. Форма ввода номера записи
для ее удаления из таблицы «Пациент»
Рассмотрим как работает процесс
удаления информации. Чтобы удалить какую либо строку из таблицы, нужно ввести
ее код (идентификатор) (Рис. 35).
Рис. 35. Ввод номера записи для
удаления.
После ввода нажимаем кнопку
«Удалить» и видим результат, строка удалена (Рис. 36).
Рис. 36. Запись из таблицы «Пациент»
удалена
.3.6 Сортировка
информации
Для реализации сортировки создадим php приложение с простым sql запросом на сортировку ORDER BY
Рис. 37. Ссылка сортировки записей в
таблице «Пациент»
Заключение
В результате выполнения курсового
проектирования был разработан программный код для реализации ИС «Телефонный
справочник поликлиники». Были закреплены и углублены теоретические знания и
приобретены практические навыки в области разработки информационной системы,
основанной на клиент - серверной технологии, а так же изучены некоторые аспекты
объектно-ориентированного программирования языка C++.
При оформлении курсовой работы были
получены навыки оформления программной документации в соответствии с
требованиями БелГУ, а также большой практический опыт работы в Borland C++ Builder 6, РСУБД Firebird, InterBase eXpress
(IBX). Теоретические сведения были закреплены практическими занятиями.
Список источников
телефонный
справочник сервер поликлиника
1. Архангельский А.Я. Программирование в С++Builder 6. - М.:
БИНОМ, 2005. -1152 с., ил.
2. Борри Х. Firebird: руководство разработчика баз данных: Пер. с англ. - СПб.:
БХВ-Петербург, 2006, - 1104 с.: ил.
. Кузьменко Д. Генераторы и их использование. - М, 2005.
4. Послед Б.С. Borland C++ Builder 6.
Разработка приложений баз данных - СПб.: ООО «ДиаСофтЮП», 2003
-320 с.
5. Сорокин А.В. Разработка баз данных. - СПб.: Питер, 2005 -
477 с: ил.
6. Хомоненко А.Д. Работа с базами данных С++Builder. - СПб.:BHV - Санкт - Петербург,
2005. - 400 с., ил.