Курсовая работа: Разработка и патентная защита программного средства Автоматизированное рабочее место инженера п
Триггер является функцией, выполняющейся при вставке, изменении или удалении записи. Триггеры могут определяться как для таблиц, так и для обновляемых представлений.
Рис. 9. Список генераторов
В результате было создано по 5 триггеров и генераторов:
Рис. 10. Генераторы и триггеры базы данных
Представление «Список клиентов» (CLIENT_INFO)
Рисунок 11 - Создание просмотра CLIENT_INFO
Рисунок 12 - Результат просмотра CLIENT_INFO
Аналогичным образом были созданы представления остальных таблиц.
Примеры создания хранимых процедур:
Процедура «Добавить клиента» (ADD_CLIENT)
Рисунок 13 - Создание хранимой процедуры ADD_ CLIENT
Процедура «Удалить заказ» (DEL_ZAK)
Рисунок 14 - Создание хранимой процедуры DEL_ZAK
Рисунок 15 - Список созданных хранимых процедур
Было создано исключение. Исключения представляют собой именованное сообщение об ошибке.
Рисунок 16 - Список созданных исключений
Исключение KEY_EX внедряется следующим образом:
Рисунок 17 - Исключение KEY_EX в хранимой процедуре. На примере процедуры ADD_ZAK.
2.3 Реализация программного средства «Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники»
C++Builder предоставляет разработчикам следующие компоненты для разроботки приложений:
· Компоненты управления данными Data Control, обеспечивающие отображение и редактирования записей на форме приложения.
· Компонентывкладки Standart (Button, Label, Edit, RadioButton, CheckBox, RadioGroup, Panel)
· Компоненты доступа к данным Data Access - адресуют фактические данные, хранящиеся в файле базы данных.
· Компоненты вкладки QReport (QuickRep, QRSubDetail, QRLabel, QRDBText, QRBand, QRSysData), создание отчетов
· КомпонентыInterbase (IBDatabase, IBTransaction, IBTable, IBStoredProc)
Наличие на форме большого количества невидимых компонентов в ряде случаев затрудняет проектирование пользовательского интерфейса. Кроме того, нередко бывает удобно отделить компоненты, отвечающие за доступ к данным и бизнес-логику информационной системы, от интерфейсных элементов, например, для обегчения ее дальнейшей модернизации. Для этой цели в C++ Builder имеется специальный тип, называемый модулем данных - TDataModule. На рис.18 представлен модуль данных разрабатываемого клиентского приложения.
Рисунок 18 - Компонент DataModule2
Рисунок 19 - Результат заполнения таблицы “Клиенты ”
Рисунок 20 - Результат заполнения таблицы “Заказы”
Рисунок 21 - Результат заполнения таблицы “Детали”
Рисунок 22 - Результат заполнения таблицы “Инженеры”
Рисунок 23 - Результат заполнения таблицы “Виды расчета”
2.3 Реализация программного средства « Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники»
Рассмотрим подробнее реализацию программного средства «Автоматизированное рабочее место инженера по сервисному обслуживанию компьютерной техники».
Рисунок 24 - Модульная структура программного обеспечения
Рисунок 25 - Просмотр содержимого таблицы “Клиенты”
Имя таблицы задается в свойствах компонента IBTable. В свойствах компонента DataSource указываем свойство DataSet->IBTable.
Чтобы данные отображались в компоненте DBGrid, в свойстве DataSource указывается DataModule2->DataSource.
Рисунок 26 – Результат работы процедуры добавления данных
Для внесения данных во все таблицы была использована одна форма, чтобы сократить время на внесение пользователем данных в таблицу и упростить контроль над правильностью введенных данных.
Пользователь может заполнять данные по таблицам “Заказы”, “Клиенты”, “Детали ”, “Инженеры”.
Ввод значения поля в таблицу осуществляется, например, такой строкой как:
DataModule2->IBStoredProc1->ParamByName("FIO_CL")->AsString=Form1->Edit1->Text;
Удаление записи из таблиц происходит посредством следующего кода:
DataModule2->IBStoredProc3->ParamByName("ID_CLIENT")->AsString=DBEdit1->Text;
Осуществляется каскадное удаление – из таблицы «Клиенты».