Разработка фрагмента информационной системы "Аптека" в среде Delphi с применением технологии ADO
Теоретические основы применения технологии ADO в среде Delphi. Основные понятия и определения теории баз данных. Компоненты Delphi для создания приложений, оперирующих с базами данных. Общий вид и основные особенности работы приложения "Аптека".
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 09.08.2012 |
Размер файла | 1,4 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Содержание
Введение
Глава I. Теоретические основы применения технологии ADO в среде Delphi
1.1 Основные понятия и определения теории баз данных
1.2 СУБД как посредник между пользователем и базой данных
1.3 Компоненты Delphi для создания приложений, оперирующих с базами данных
Глава II. Разработка фрагмента информационной системы «Аптека» в среде Delphi с применением технологии ADO.
2.1 Анализ предметной области
2.2 Общий вид и особенности работы приложения
Заключение
Литература
Приложение.
Введение
delphi приложение база данные
В эпоху глобализации слово «информация» приобрело новые оттенки значения. Теперь это является ресурсом, у которого есть стоимость. Таким образом, научно-технический прогресс и экономика вступают в синтез. Экономика не развивается без НТП, который, в свою очередь, нуждается в поддержке со стороны рынка.
В наше время важнейшим условием выживания фирмы при нарастающем объеме экономических отношений и конкуренции является владение информацией, благодаря которой предприятие может анализировать и прогнозировать свою деятельность и деятельность конкурентов, воздействовать на потребителя, налаживать контакты с поставщиками, проводить мониторинг рынка и т.д.
Во всех сферах деятельности предприятия особое место занимают информационные технологии, помогающие систематизировать информацию и манипулировать ею. Одной из наиболее распространенных информационных технологий на сегодняшний день являются базы данных (далее БД), позволяющие хранить, обрабатывать и быстро получать огромное количество информации. Обширные возможности по работе с БД предоставляют технологии ADO (ActiveX Data Objects).
Цель: разработка фрагмента информационной системы «Аптека» в среде Delphi с применением технологии ADO.
Задачи:
- анализ предметной области;
- изучение основных понятий, определений, свойств баз данных и систем управления ими (СУБД);
- изучение компонентов среды программирования Delphi, реализующих технологию ADO для доступа к базам данных;
- использование средств Delphi в разработке информационно-справочной системы.
Глава I. Теоретические основы применения технологии ADO в среде Delphi
1.1 Основные понятия и определения теории баз данных
М.Р. Когаловский определяет базы данных как «организованную в соответствии с определёнными правилами и поддерживаемую в памяти компьютера совокупность данных, характеризующую актуальное состояние некоторой предметной области и используемую для удовлетворения информационных потребностей пользователей».[3, с. 252]
На рис.1 представлена классификация баз данных.
Рис.1. Классификация баз данных
Базы данных делятся на локальные (установленные на компьютере клиента, там же где и работает программа) и удаленные (установленные на сервере - удаленном компьютере). Для обозначения второго типа БД используются названия клиент-серверные или сетевые БД, потому что программа обработки данных находится у клиента, а данные на сервере.
В случае клиент-серверной БД данные хранятся на сервере. Клиентская программа получает доступ к данным с помощью запросов на специальном языке SQL или его расширении - Transact-SQL или PL/SQL). При этом следует учитывать, что программа получает только необходимые данные, а загружает на сервер только измененные данные.
Сетевые БД также хранятся на сервере, но каждый клиент получает собственную копию данных. В этом случае существует два основных недостатка: большая нагрузка на сеть и сложная процедура обеспечения целостности.[8, с. 366]
В зависимости от вида организации данных различают следующие основные модели представления данных в базе:
- иерархическую;
- сетевую;
- реляционную;
- объектно-ориентированную.[9, c. 288]
В реляционных БД, которые являются «наиболее распространенными в наше время»[8, с. 367], данные собраны в таблицы, которые в свою очередь состоят из столбцов и строк, на пересечении которых расположены ячейки. Запросы к таким базам данных возвращает таблицу, которая повторно может участвовать в следующем запросе. Данные в одних таблицах, как правило, связаны с данными других таблиц, откуда и произошло название "реляционные".
Можно кратко сформулировать особенности реляционной базы данных:
- данные хранятся в таблицах, состоящих из столбцов и строк;
- на пересечении каждого столбца и строки находится только одно значение;
- у каждого столбца есть свое имя, которое служит его названием, и все значения в одном столбце имеют один тип;
- столбцы располагаются в определенном порядке, который задается при создании таблицы, в отличие от строк, которые располагаются в произвольном порядке. В таблице может не быть ни одной строчки, но обязательно должен быть хотя бы один столбец;
- запросы к базе данных возвращают результат в виде таблиц, которые тоже могут выступать как объект запросов.
В частном случае БД может состоять из одной таблицы, однако обычно реляционная БД состоит из набора взаимосвязанных таблиц. Организация связей между таблицами называется связыванием или соединением таблиц. Для связывания таблиц используются поля связи (иногда применяется термин «совпадающие поля»). Поля обязательно должны быть индексированными.
Существуют следующие виды связей:
- отношение «один-к-одному»;
- отношение «один-ко-многим»;
- отношение «многие-к-одному»;
- отношение «многие-ко-многим».
Наиболее часто используется отношение «один-ко-многим», которое означает, что одной записи главной таблицы в подчиненной таблице может соответствовать несколько записей, в том числе ни одной. [8, c. 297-298]
1.2 СУБД как посредник между пользователем и базой данных
В прикладной программе, использующей при решении задачи один или несколько отдельных файлов, за сохранность и достоверность данных отвечал программист, работающий с этой задачей. Использование базы данных предполагает работу с ней нескольких прикладных программ, решающих задачи разных пользователей. [10, с. 18]
Роль интерфейса между прикладными программами и базой данных, обеспечивающего их независимость, играет программный комплекс - система управления базами данных (СУБД) (рис. 2).
Рис.2. Обеспечение независимости прикладных программ и базы данных
СУБД - программный комплекс поддержки интегрированной совокупности данных, предназначенный для создания, ведения и использования БД многими пользователями (прикладными программами). [10, с. 19]
Возможности СУБД:
- создавать новые БД;
- изменять данные;
- дополнять данные;
- осуществлять поиск;
- упорядочивать информацию в базе данных;
- записывать обновленные данные на диск;
- выполнять печать данных и ответов на запросы.
Основные функции СУБД:
· Определение структуры создаваемой базы данных, ее инициализация и проведение начальной загрузки.
· Предоставление пользователям возможности манипулирования данными (выборка необходимых данных, выполнение вычислений, разработка интерфейса ввода/вывода, визуализация).
· Обеспечение независимости прикладных программ и (логической и физической независимости).
· Защита логической целостности базы данных.
· Защита физической целостности.
· Управление полномочиями пользователей на доступ к базе данных.
· Синхронизация работы нескольких пользователей.
· Управление ресурсами среды хранения.
· Поддержка деятельности системного персонала.
1.2. Компоненты Delphi для создания приложений, оперирующих с базами данных
В Delphi есть несколько наборов компонент для работы с базами данных. Каждый из них очень выполняет определённого круга задач. Все они используют разные технологии доступа к данным и отличаются по возможностям.
На вкладке Data Access (рис.3) расположены основные компоненты доступа к данным. Эти компоненты общие для всех и могут использоваться совместно с другими группами компонентов.
Рис. 3. Компоненты Data Access
Источник данных (data source) представляет собой промежуточный элемент, который применяется для связи набора данных с визуальными компонентами. Получается как бы цепочка: «набор данных -- источник данных -- визуальный компонент». Для этой цели в Delphi служит компонент DataSource (). [6] Основное свойство источника данных - DataSet. Оно указывает на компонент набора данных (Table, Query и др), с которыми связан источник.
На вкладке Data Controls(рис. 4) расположены компоненты для отображения и редактирования данных в таблицах. Эти компоненты используются вне зависимости от используемой технологии доступа к данным. [8, с. 369] Таблица 1 описывает компоненты вкладки Data Controls.
Рис. 4. Компоненты Data Controls
Таблица 1.
Компоненты Data Controls.Описание
Иконка компонента |
Название |
Краткое описание компонента |
|
DBGrid |
Содержащий данные компонент, предназна-ченный для отображения и редактирования данных в табличном виде, похожем на лист электронной таблицы. |
||
DBNavigator |
Содержащий данные компонент, имеющий кнопки для перемещения по записям набора данных, вставки, редактирования и просмотра, а также сохранения новых или измененных данных в физической таблице. |
||
DBText |
Содержащий данные компонент, метка, ко-торая отображает значение какого-либо поля текущей записи набора данных. |
||
DBEdit |
Содержащий данные компонент, предназна-ченный для отображения или редактирования значения какого-либо поля текущей записи набора данных. |
||
DBMemo |
Содержащий данные компонент, предназна-ченный для отображения или редактирования BLOB-текста текущей записи набора данных. |
||
DBImage |
Содержащий данные компонент, предназна-ченный для отображения, копирования или вставки растровой картинки в текущую запись набора данных. |
||
DBListBox |
Содержащий данные компонент, применяе-мый для отображения и прокрутки списка значений из столбца таблицы. |
Таблица 1. (продолжение)
Компоненты Data Controls.Описание
Иконка компонента |
Название |
Краткое описание компонента |
|
DBComboBox |
Содержащий данные компонент, применяе-мый для отображения или редактирования прокручиваемого списка значений из столбца таблицы. |
||
DBCheckBox |
Содержащий данные компонент, применяе-мый для отображения или редактирования поля логического типа текущей записи на-бора данных. |
||
DBRadioGroup |
Содержащий данные компонент, представ-ляющий собой группу зависимых переклю-чателей, предназначенных для установки или отображения значений столбца. |
||
DBLookupListBox |
Его значения формируются по полю друго-го набора данных. |
||
DBLookupComboBox |
Его значения формируются по полю друго-го набора данных. |
Вкладка BDE (рис. 5) содержит компоненты, позволяющие получить доступ к базам данных по технологии, разработанной фирмой Borland под названием Borland Database Engine. Эта технология сильно устарела и поставляется только для совместимости со старыми версиями. Не смотря на это, она хорошо работает со старыми типами баз данных, такими как Paradox и dBase.[8, с. 369]
Рис. 5. Компоненты технологии BDE
DBExpress - это новая технология доступа к данным фирмы Borland. Она отличается большей гибкостью и хорошо подходит для программирования клиент серверных приложений, использующих базы данных. [8, с. 369] На рисунке 6 изображены компоненты технологии DBExpress.
Рис. 6. Компоненты DBExpress
ADO (от англ. ActiveX Data Objects -- «объекты данных ActiveX») -- интерфейс программирования приложений для доступа к данным, разработанный компанией Microsoft (MS Access, MS SQL Server) и основанный на технологии компонентов ActiveX. ADO позволяет представлять данные из разнообразных источников (реляционных баз данных, текстовых файлов и т. д.) в объектно-ориентированном виде. [11] На рисунке 7 изображены компоненты технологии ADO, таблица 2 отражает описание и свойства компонентов технологии ADO.
Рис. 7. Компоненты технологии ADO
Таблица 2.
Компоненты технологии ADO
Иконка компонента |
Название |
Краткое описание компонента |
Свойства |
|
ADOConnection |
Устанавливает логическое сое-динение прочих компонентов с ADO для выпол-нения команд |
ConnectionString - мастер, ус-танавливающий соединение с БД; LoginPrompt (значение true/false) - выводит (не выводит) окно для ввода пароля пользователю. |
||
ADOTable |
Создание набора данных физичес-кой таблицы |
Active - устанавливает актив-ное соединение с таблицей (значение true/false); Connec-tion - устанавливает связь с поставщиком данных; TableName - имя таблицы. |
||
ADOQuery |
SQL-запрос к БД |
Active - устанавливает актив-ное соединение с запросом (значение true/false); SQL - строки запроса. |
Глава II. Разработка фрагмента информационной системы «Аптека» в среде Delphi с применением технологии ADO
2.1 Анализ предметной области
Аптечная организация - организация здравоохранения, осуществляющая фармацевтическую деятельность по изготовлению и розничной реализации лекарственных препаратов, изделий медицинского назначения и медицинской техники.[5]
Аптека осуществляет следующие функции:
- реализацию населению готовых лекарственных препаратов (в том числе гомеопатических препаратов) по рецептам и без рецептов врача, учреждениям здравоохранения по требованиям или заявкам;
- изготовление лекарственных препаратов по рецептам врачей и требованиям учреждений здравоохранения, изготовление внутриаптечной заготовки в соответствии с утвержденными прописями и фасовку лекарственных препаратов и лекарственного растительного сырья с последующей их реализацией;
- отпуск лекарственных препаратов бесплатно или со скидкой отдельным группам населения в соответствии с действующим законодательством Российской Федерации и на основании заключенных договоров с территориальными органами управления здравоохранением, лечебно-профилактическими учреждениями и страховыми компаниями;
- реализацию лекарственного растительного сырья в заводской упаковке; изделий медицинского назначения <…>; дезинфицирующих средств; предметов (средств) личной гигиены <…>; оптики; минеральных вод (натуральных и искусственных); лечебного, детского и диетического питания; косметическую и парфюмерную продукцию <…>;
- отпуск предметов через пункт проката в соответствии с установленным порядком;
- предоставление населению необходимой информации по надлежащему использованию и хранению лекарственных препаратов в домашних условиях; оказание консультативной помощи в целях обеспечения ответственного самолечения;
- предоставление медицинским работникам учреждений здравоохранения, просвещения, социального обеспечения и др. необходимой информации об имеющихся в аптеке лекарственных препаратах, а также об новых лекарственных препаратах;
- оказание первой медицинской помощи;
- оказание консультативной помощи в целях обеспечения ответственного самолечения. [4]
Фармакотерапия (лекарственная терапия) -- лечение заболеваний с помощью лекарственных средств.[7]
Лекарственные средства - вещества или их комбинации, вступающие в контакт с организмом человека или животного, проникающие в органы, ткани организма человека или животного, применяемые для профилактики, диагностики (за исключением веществ или их комбинаций, не контактирующих с организмом человека или животного), лечения заболевания, реабилитации, для сохранения, предотвращения или прерывания беременности и полученные из крови, плазмы крови, из органов, тканей организма человека или животного, растений, минералов методами синтеза или с применением биологических технологий. К лекарственным средствам относятся фармацевтические субстанции и лекарственные препараты.[7]
Торговое наименование лекарственного средства - наименование лекарственного средства, присвоенное его разработчиком.[7]
Лекарственные препараты - лекарственные средства в виде лекарственных форм, применяемые для профилактики, диагностики, лечения заболевания, реабилитации, для сохранения, предотвращения или прерывания беременности.[7]
Лекарственная форма - удобная для применения форма выпуска лекарственного средства (твердые, жидкие, мягкие, экстракционные и максимально очищенные).[2, с. 35]
Персонал аптеки:
- Заведующий-провизор имеет права заведующего отделением лечебно-профилактического учреждения и контролирует всю работу аптеки. Заведующий-провизор обязан контролировать четкую работу в аптеке по изготовлению, приему и отпуску лекарств по рецептам. Он контролирует снабжение медицинским имуществом лечебно-диагностические кабинеты, лаборатории; обеспечивает правильное хранение медикаментов, медицинского инструментария; контролирует расход медикаментов в отделениях лечебно-профилактического учреждения, особенно контролируя ядовитые, наркотические средства. Заведующий контролирует фармацевтический порядок в аптеке, соблюдение санитарно-гигиенических правил, составляет сметы на получение медицинского имущества.
- Провизоров-аналитиков в одной аптеке лечебно-профилактического учреждения не должно быть больше 2 человек. Провизор-аналитик должен иметь высшее фармацевтическое образование. Его назначение и увольнение контролируется заведующим-провизором аптеки. Он находится под начальством заведующего-провизора и заместителя провизора аптеки.
- Дефектар контролирует записи медикаментов, запасы медицинских средств (наличие серии изготовляющего завода, номера лаборатории, анализа, номера склада, срок годности и др.), а также руководит изготовлением в аптеке полуфабрикатов, концентратов и перефасовкой медикаментов.
- Фармацевт должен иметь среднее фармацевтическо образование. Фармацевт должен изготавливать лекарства по мере необходимости для отделений и по рецептам врачей, а также должен правильно подготовить и оформить лекарства перед их отпуском. Фармацевт должен периодически повышать квалификацию.
- Бухгалтер-фармацевт занимается лицом со средним фармацевтическим образованием, знающим бухгалтерский учет. Бухгалтер-фармацевт обеспечивает своевременный, правильный учет всего медицинского имущества, предметно-количественный учет ядовитых и наркотических средств, этилового спирта и др.
- Санитарка аптеки выполняет различную работу (мытье и обработку посуды, уборку помещений и др.).
Аптеки в России с каждым годом все более оснащаются современной техникой, так как прогресс в аптечном деле не стоит на месте. Аптек становится все больше благодаря устойчивости экономики, увеличению уровня потребления населения, росту разработок новых методов лечения и лекарственных средств.[1]
2.2. Общий вид и особенности работы приложения
Разработка базы данных «Аптека»
Было решено создать базу данных для приложения в СУБД MSAccess, она получила название Аптека.mdb (рис. 8). В Delphi можно работать только с базами формата .mdb, поэтому пришлось выполнять разработку БД в MSAccess версии 2003 года.
Рис. 8. Создание новой базы данных
Для фрагмента информационной системы «Аптека» на основе полученных знаний из предметной области были созданы следующие таблицы:
Таблица «Персонал» базы данных «Аптека» (рис. 9)
Рис. 9. Таблица «Персонал». Содержание записей
Таблица «Поставщики» базы данных «Аптека» (рис. 10)
Рис. 10. Таблица «Поставщики». Содержание записей
Таблица «Товары» базы данных «Аптека» (рис. 11)
Рис. 11. Таблица «Товары». Содержание записей
Схема данных базы данных «Аптека»
Таблицы были связаны между собой связью «один-ко-многим»
(рис. 12).
Рис.12. Схема данных БД «Аптека»
Работа над базой данных была завершена; был начат этап разработки приложения в среде программирования Delphi.
Процесс разработки пользовательского интерфейса приложения
Используя знания, полученные в процессе изучения технологии ADO и компонентов Delphi для работы с базой данных, был создан фрагмент информационной системы. Было решено, что программа должна обеспечить работу с таблицами БД и редактирование записей в отдельных текстовых полях.
Таким образом, был создан интерфейс для работы с приложением, который можно увидеть ниже.
Для удобства работы с тремя таблицами был использован компонент PageControl (), содержащийся во вкладке Win32. Он позволяет избавить приложение от перегруженности компонентов и решил нашу проблему с размещением таблиц. Для того чтобы создать новую вкладку компонента PageControl, размещенного на форме, необходимо в выпадающем меню щелчком правой кнопкой мыши выбрать пункт New page; на вкладках можно располагать все необходимые компоненты.
На каждую страницу PageControl были помещены DBGrid, DBNavigator и необходимое количество полей для редактирования (DBEdit, DBMemo), а также несколько компонентов Label и кнопка Button, которая отвечает за процесс редактирования записей.
Сразу оговоримся о назначении и свойствах этих компонентов.
Компоненты DBEdit и DBMemo обеспечивают просмотр и редактирование полей записи базы данных. Они позволяет отображать и редактировать данные полей различных типов: строка, число, булева величина.
Свойства компонентов DBEdit и DBMemo, обеспечивающие связь с данными:
- DataSource - источник данных типа TDataSource;
- DataField - имя поля, с которым связан компонент;
- Field - объект этого поля (только для чтения).
Компонент TDBGrid обеспечивает табличный способ отображения на экране строк данных из компонентов TTable или TQuery. Приложение может использовать TDBGrid для отображения, вставки, уничтожения, редактирования данных БД. Обычно DBGrid используется в сочетании с DBNavigator, хотя можно использовать и другие интерфейсные элементы, включив в их обработчики событий методы First, Last, Next, Ptior, Insert, Delete, Edit, Append, Post, Cancel компонента TTable.
Свойства компонента, обеспечивающие связь с данными:
- Name - имя компонента;
- DataSource - источник отображаемых в таблице данных (компонент DataSource);
- Columns - массив объектов типа TColumn, каждый из которых определяет колонку таблицы и отображаемую в ней информацию.
Компонент DBNavigator (рис. 13) обеспечивает перемещение указателя текущей записи, активизацию режима редактирования, добавление и удаление записей. Компонент представляет собой совокупность командных кнопок (таблица 3).
Рис.13. Компонент DBNavigator
Таблица 3.
Кнопки компонента DBNavigator
Кнопка |
Обозначение |
Действие |
|
К первой |
nbFirst |
Указатель текущей записи перемещается к первой записи файла данных |
|
К предыдущей |
nbPrior |
Указатель текущей записи перемещается к предыдущей записи файла данных |
|
К следующей |
nbNext |
Указатель текущей записи перемещается к следующей записи файла данных |
|
К последней |
nbLast |
Указатель текущей записи перемещается к последней записи файла данных |
|
Добавить |
nblnsert |
В файл данных добавляется новая запись |
|
Удалить |
nbDelete |
Удаляется текущая запись файла данных |
|
Редактирование |
nbEdit |
Устанавливает режим редактирования текущей записи |
|
Сохранить |
nbPost |
Изменения, внесенные в текущую запись, записываются в файл данных |
|
Отменить |
Cancel |
Отменяет внесенные в текущую запись изменения |
|
Обновить |
nbRefresh |
Записывает внесенные изменения в файл |
Свойства компонента DBNavigator:
- Name - имя компонента (используется для доступа к свойствам компонента);
- DataSource - имя компонента, являющегося источником данных (в качестве источника данных может выступать база данных (компонент Database), таблица (компонент Table) или результат выполнения запроса (компонент Query));
- VisibleButtons - видимые командные кнопки.
Рассмотрим подробнее каждую вкладку компонента PageControl.
Для таблицы «Товары» (рис. 14) на рабочей области были созданы пять компонентов DBEdit, которые должны выводить значение записи на экран, а также 2 компонента DBMemo для вывода объемной информации («Фармгруппа» и «Лекарственная форма»). Для некоторых столбцов были добавлены компоненты Label, конкретизирующие информацию в текстовых полях, они отображают наименование столбца. Помимо этого добавлена кнопка Button с надписью «Редактировать».
Рис. 14. Вкладка «Товары». Интерфейс
Вкладка «Поставщики» (рис. 15) аналогично содержит таблицу, поля записей для каждого столбца и кнопку.
Рис. 15. Вкладка «Поставщики». Интерфейс
Вкладка «Персонал» (рис. 16) аналогичным образом демонстрирует нам необходимые элементы для просмотра и редактирования данных таблицы.
Рис. 16. Вкладка «Персонал». Интерфейс
2.2.4 Подключение базы данных «Аптека» к приложению
Для того чтобы подключить к нашему приложению и отобразить таблицы базы данных, на форме были размещены следующие компоненты: ADOConnection, DataSource и ADOTable - они не будут видны при запуске приложения. На рисунке 17 показано расположение компонентов на форме.
Рис. 17. Расположение невизуальных компонентов на форме
Компонент ADOConnection (в нашем случае ему присвоено имя apteka_ADOConnection) позволяет очень легко связать базу данных с нашим приложением. Для этого нужно в свойстве ConnectionString создать строку подключения. Программисту доступен удобный мастер по созданию этой строки:
1. Выбираем свойство ConnectionString, кликаем по кнопке редактирования (рис. 18).
Рис. 18. Свойство ConnectionString компонента ADOConnection
2. В появившейся форме мастера командной строки нажимаем на кнопку «Build…» (рис. 19).
Рис. 19. Мастер командной строки
3. Выбираем поставщика данных “Microsoft Jet 4.0 OLE DB Provider” для базы данных MS Access и щелкаем кнопку «Далее» (рис. 20).
Аналогичным образом к Delphi подключаются другие БД. Например, для подключения базы данных SQL сервера используется поставщик данных “Microsoft OLE DB Provider for SQL server”
Рис. 20. Вкладка «Поставщик данных»
4. Теперь нужно выбрать нужную нам базу данных (если она сделана в MS Access, то должна иметь расширение *.mdb) и проверить соединение данных (рис. 21).
Рис. 21. Вкладка «Соединение»
5. Нажимаем на ОК, строка доступа сгенерирована.
В свойстве Connected компонента ADOConnection должно стоять True. Это свидетельствует о том, что база данных подключена.
На форме было размещено 3 невизуальных компонента DataSource
(), отвечающих за каждую таблицу. Через свойство источника данных - DataSet - они были связаны с соответствующими компонентами ADOTable.
У каждого компонента ADOTable необходимо изменить следующие свойства:
1) Connection := apteka_ADOConnection;
2) TableName := 'Поставщики' или `Товары' или `Персонал' (в зависимости от нужной таблицы);
3) Active := True.
Для того чтобы таблицы выводились на соответствующие компоненты DBGrid, необходимо и для них установить источник данных в свойстве DataSource - это один из трех компонентов DataSource. Таким же образом необходимо связать и компоненты DBNavigator.
Ниже на рис. 22 можно увидеть схему связи данных и компонентов технологии ADO.
Рис. 22. Схема связи данных и компонентов технологии ADO
Особенности программного кода
В связи с тем, что технология ADO инкапсулирует все процедуры, нет необходимости в объемном программном коде, поэтому все особенности кода заключаются лишь в организации удобства интерфейса приложения: подготовка программы к работе и функционирование кнопки «Редактировать».
procedure Tapteka_form.FormActivate(Sender: TObject);
begin
i1:=0;
i2:=0;
i3:=0;
tovar_dbedit1.Enabled:=false;
tovar_dbedit2.Enabled:=false;
tovar_dbedit3.Enabled:=false;
tovar_dbedit4.Enabled:=false;
tovar_dbedit5.Enabled:=false;
tovar_dbmemo1.Enabled:=false;
tovar_dbmemo2.Enabled:=false;
postav_dbedit1.Enabled:=false;
postav_dbedit2.Enabled:=false;
postav_dbedit3.Enabled:=false;
postav_dbedit4.Enabled:=false;
postav_dbmemo1.Enabled:=false;
personal_dbedit1.Enabled:=false;
personal_dbedit2.Enabled:=false;
personal_dbedit3.Enabled:=false;
personal_dbedit4.Enabled:=false;
personal_dbedit5.Enabled:=false;
personal_dbedit6.Enabled:=false;
personal_dbedit7.Enabled:=false;
personal_dbedit8.Enabled:=false;
personal_dbedit9.Enabled:=false;
personal_dbedit10.Enabled:=false;
personal_dbmemo1.Enabled:=false;
end;
При активации приложения формируются начальные значения переменных и всем компонентам для работы с текстом присваивается значение False в свойстве Enabled во избежание случайного (непреднамеренного) редактирования записей базы данных.
Далее при работе нажатии кнопки «Редактировать» все поля на конкретной вкладке становятся активными и кнопка меняет название на «Принять».
Для того, чтобы не добавлять много кнопок на форму, используется конструкция if…then…else, где функциональную роль исполняют переменные i1, i2, i3. Это позволяет, меняя названия у одной кнопки, варьировать ее назначение.
procedure Tapteka_form.tovar_Button1Click(Sender: TObject);
begin
if i1=0
then
begin
tovar_dbedit1.Enabled:=true;
tovar_dbedit2.Enabled:=true;
tovar_dbedit3.Enabled:=true;
tovar_dbedit4.Enabled:=true;
tovar_dbedit5.Enabled:=true;
tovar_dbmemo1.Enabled:=true;
tovar_dbmemo2.Enabled:=true;
tovar_button1.Caption:='Принять';
i1:=1;
end
else
begin
tovar_dbedit1.Enabled:=false;
tovar_dbedit2.Enabled:=false;
tovar_dbedit3.Enabled:=false;
tovar_dbedit4.Enabled:=false;
tovar_dbedit5.Enabled:=false;
tovar_dbmemo1.Enabled:=false;
tovar_dbmemo2.Enabled:=false;
tovar_button1.Caption:='Редактировать';
i1:=0;
end;
end;
Аналогичным методом описываем событие OnClick для оставшихся кнопок с вкладок «Поставщики» и «Персонал»
Заключение
Таким образом, работа над фрагментом информационной системы базы данных «Аптека» была завершена, что является достижением поставленной цели.
Для этого было необходимо изучить основы аптекарского дела, включающие в себя информацию о лекарственных препаратах - различные классификации, особенности выпуска и проч.; мы узнали, какие виды аптек существуют, чем они друг от друга отличаются; был рассмотрен минимальный кадровый состав отдельной аптеки и функции персонала.
Самой важной частью моей теоретической работы является изучение особенностей баз данных и их свойств, анализ СУБД и основных компонентов среды Delphi и технологии ADO, которые позволяют оперировать базами данных.
Затем в СУБД MS Access была составлена база данных из трех таблиц, которая отражает знания из предметной области. Когда база данных «Аптека» была готова, было создано приложение методами среды программирования Delphi и технологии ADO. Оно содержит необходимые компоненты для подключения базы данных и вывода ее таблиц на экран, а также снабжено возможностью пользовательского редактирования записей.
Литература
1. Аптека и ее функции [Электронный ресурс] / Информационный сервер «Medkurs.ru». Режим доступа: http://www.medkurs.ru/pharmacy/info/section2182/11004.html.
2. Венгеровский А.И. Лекции по фармакологии / Венгеровский А.И. - Физико-математическая литература, 2007. - 704 с.
3. Когаловский М.Р. Энциклопедия технологий баз данных / Когаловский М.Р. - М.: Финансы и статистика, 2002. - 800 с.
4. Отраслевой стандарт. Правила отпуска (реализации) лекарственных средств в аптечных организациях. ОСТ 91500.05.0007-2003 [Электронный ресурс] / КонсультантПлюс. Некоммерческая интернет-версия. Режим доступа:
http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=LAW;n=69544
5. Правила надлежащей фармацевтической (аптечной) практики таможенного союза (Good Pharmacy Practice, GPP) [Электронный ресурс] / Качество.рф. Режим доступа: http://www.качество.рф/upload/Pravila_aptechnoi_praktiki.pdf
6. Пономарев В.А. Базы данных в Delphi 7. Самоучитель [Электронный ресурс] / Пономарев В.А. Режим доступа: http://www.iworld.ru/attachment.php?barcode=978531400194&at=exc&n=0
7. Федеральный закон от 12 апреля 2010 г. N 61-ФЗ "Об обращении лекарственных средств" [Электронный ресурс] / КонсультантПлюс. Некоммерческая интернет-версия. Режим доступа: http://base.consultant.ru/cons/cgi/online.cgi?req=doc;base=LAW;n=122886
8. Фленов М.Е. Библия Delphi / Фленов М.Е. - СПб.: БХВ-Петербург, 2011. - 688 с.
9. Хомоненко А.Д. Самоучитель Delphi.NET / Хомоненко А. Д. - СПб.: БХВ-Петербург, 2006. - 464 с.
10. Швецов В.И., Визгунов А.Н., Мееров И.Б. Базы данных : учеб. пособие / Швецов В.И., Визгунов А.Н., Мееров И.Б. - Н. Новгород: Изд-во ННГУ, 2004. - 217 с.
11. ADO [Электронный ресурс] / Электронная энциклопедия «Википедия». Режим доступа: http://ru.wikipedia.org/wiki/ADO
Приложение
Листинг программного кода
фрагмента информационной системы «Аптека»
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ComCtrls, Vcl.ExtCtrls, Vcl.DBCtrls,
Vcl.Grids, Vcl.DBGrids, Data.DB, Data.Win.ADODB, Vcl.StdCtrls, Vcl.Mask;
type
Tapteka_form = class(TForm)
apteka_pages: TPageControl;
tovar_page: TTabSheet;
tovar_grid: TDBGrid;
tovar_navigator: TDBNavigator;
postav_page: TTabSheet;
postav_grid: TDBGrid;
postav_navigator: TDBNavigator;
personal_page: TTabSheet;
personal_grid: TDBGrid;
personal_navigator: TDBNavigator;
personal_DBEdit2: TDBEdit;
personal_DataSource: TDataSource;
apteka_ADOConnection: TADOConnection;
personal_ADOTable: TADOTable;
personal_DBEdit3: TDBEdit;
personal_DBEdit4: TDBEdit;
personal_DBEdit5: TDBEdit;
personal_DBEdit6: TDBEdit;
personal_DBEdit7: TDBEdit;
personal_DBEdit8: TDBEdit;
personal_DBEdit9: TDBEdit;
personal_DBEdit10: TDBEdit;
personal_Button1: TButton;
tovar_DataSource: TDataSource;
postav_DataSource: TDataSource;
tovar_ADOTable: TADOTable;
postav_ADOTable: TADOTable;
postav_DBEdit1: TDBEdit;
postav_DBMemo1: TDBMemo;
postav_DBEdit2: TDBEdit;
postav_DBEdit3: TDBEdit;
postav_Label2: TLabel;
postav_Label1: TLabel;
postav_DBEdit4: TDBEdit;
postav_Button1: TButton;
tovar_Label1: TLabel;
tovar_Label4: TLabel;
tovar_DBEdit2: TDBEdit;
tovar_DBEdit1: TDBEdit;
tovar_DBMemo1: TDBMemo;
tovar_DBMemo2: TDBMemo;
tovar_DBEdit3: TDBEdit;
tovar_DBEdit4: TDBEdit;
tovar_DBEdit5: TDBEdit;
tovar_Label3: TLabel;
tovar_Label2: TLabel;
tovar_Button1: TButton;
personal_Label1: TLabel;
personal_Label2: TLabel;
personal_Label3: TLabel;
Label4: TLabel;
personal_Label5: TLabel;
personal_Label6: TLabel;
personal_DBMemo1: TDBMemo;
personal_DBEdit1: TDBEdit;
procedure FormActivate(Sender: TObject);
procedure tovar_Button1Click(Sender: TObject);
procedure postav_Button1Click(Sender: TObject);
procedure personal_Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
apteka_form: Tapteka_form;
implementation
{$R *.dfm}
var i1,i2,i3:integer;
procedure Tapteka_form.FormActivate(Sender: TObject);
begin
i1:=0;
i2:=0;
i3:=0;
tovar_dbedit1.Enabled:=false;
tovar_dbedit2.Enabled:=false;
tovar_dbedit3.Enabled:=false;
tovar_dbedit4.Enabled:=false;
tovar_dbedit5.Enabled:=false;
tovar_dbmemo1.Enabled:=false;
tovar_dbmemo2.Enabled:=false;
postav_dbedit1.Enabled:=false;
postav_dbedit2.Enabled:=false;
postav_dbedit3.Enabled:=false;
postav_dbedit4.Enabled:=false;
postav_dbmemo1.Enabled:=false;
personal_dbedit1.Enabled:=false;
personal_dbedit2.Enabled:=false;
personal_dbedit3.Enabled:=false;
personal_dbedit4.Enabled:=false;
personal_dbedit5.Enabled:=false;
personal_dbedit6.Enabled:=false;
personal_dbedit7.Enabled:=false;
personal_dbedit8.Enabled:=false;
personal_dbedit9.Enabled:=false;
personal_dbedit10.Enabled:=false;
personal_dbmemo1.Enabled:=false;
end;
procedure Tapteka_form.personal_Button1Click(Sender: TObject);
begin
if i3=0
then
begin
personal_dbedit1.Enabled:=true;
personal_dbedit2.Enabled:=true;
personal_dbedit3.Enabled:=true;
personal_dbedit4.Enabled:=true;
personal_dbedit5.Enabled:=true;
personal_dbedit6.Enabled:=true;
personal_dbedit7.Enabled:=true;
personal_dbedit8.Enabled:=true;
personal_dbedit9.Enabled:=true;
personal_dbedit10.Enabled:=true;
personal_dbmemo1.Enabled:=true;
personal_button1.Caption:='Принять';
i3:=1;
end
else
begin
personal_dbedit1.Enabled:=false;
personal_dbedit2.Enabled:=false;
personal_dbedit3.Enabled:=false;
personal_dbedit4.Enabled:=false;
personal_dbedit5.Enabled:=false;
personal_dbedit6.Enabled:=false;
personal_dbedit7.Enabled:=false;
personal_dbedit8.Enabled:=false;
personal_dbedit9.Enabled:=false;
personal_dbedit10.Enabled:=false;
personal_dbmemo1.Enabled:=false;
personal_button1.Caption:='Редактировать';
i3:=0;
end;
end;
procedure Tapteka_form.postav_Button1Click(Sender: TObject);
begin
if i2=0
then
begin
postav_dbedit1.Enabled:=true;
postav_dbedit2.Enabled:=true;
postav_dbedit3.Enabled:=true;
postav_dbedit4.Enabled:=true;
postav_dbmemo1.Enabled:=true;
postav_button1.Caption:='Принять';
i2:=1;
end
else
begin
postav_dbedit1.Enabled:=false;
postav_dbedit2.Enabled:=false;
postav_dbedit3.Enabled:=false;
postav_dbedit4.Enabled:=false;
postav_dbmemo1.Enabled:=false;
postav_button1.Caption:='Редактировать';
i2:=0;
end;
end;
procedure Tapteka_form.tovar_Button1Click(Sender: TObject);
begin
if i1=0
then
begin
tovar_dbedit1.Enabled:=true;
tovar_dbedit2.Enabled:=true;
tovar_dbedit3.Enabled:=true;
tovar_dbedit4.Enabled:=true;
tovar_dbedit5.Enabled:=true;
tovar_dbmemo1.Enabled:=true;
tovar_dbmemo2.Enabled:=true;
tovar_button1.Caption:='Принять';
i1:=1;
end
else
begin
tovar_dbedit1.Enabled:=false;
tovar_dbedit2.Enabled:=false;
tovar_dbedit3.Enabled:=false;
tovar_dbedit4.Enabled:=false;
tovar_dbedit5.Enabled:=false;
tovar_dbmemo1.Enabled:=false;
tovar_dbmemo2.Enabled:=false;
tovar_button1.Caption:='Редактировать';
i1:=0;
end;
end;
end.
Размещено на Allbest.ru
Подобные документы
Основные приемы работы в среде программирования Delphi. Особенности технологии создания простейших приложений. Работа с компонентами среды разработки приложений. Ввод, редактирование, выбор и вывод информации. Аспекты использования структуры ветвления.
методичка [619,9 K], добавлен 17.11.2011Рассмотрение основ использования информационных технологий в гостиничном бизнесе. Выбор системы управления базами данных. Описание информационной технологии. Выполнение программной реализации в среде объектно-ориентированного программирования Delphi 7.
курсовая работа [2,1 M], добавлен 24.09.2014Разработка информационной системы административного управления. Выбор языка и среды программирования. Структура взаимодействия информации. Требования к программно-аппаратному окружению. Создание программы в Delphi и связывание ее с базой данных.
курсовая работа [1010,9 K], добавлен 08.10.2015Изучение основных принципов разработки приложений баз данных в среде Delphi. Создание таблиц, псевдонима и вычисляемых полей базы данных. Особенности организации поиска и фильтрации. Сортировка данных в таблицах. Построение запросов. Генерация отчетов.
курсовая работа [1,3 M], добавлен 05.02.2017Разработка базы данных "Аптека" в Microsoft Access, построение ее визуальной части в Delphi. Технологии связывания Microsoft Access со средой программирования Delphi. Создание запросов поисков. Реализация таблиц: продавцы, товары, чеки, поставка, счета.
курсовая работа [3,7 M], добавлен 04.03.2014Анализ исходных данных. Определение структуры модуля для работы файлом. Разработка объектно-ориентированного приложения, использующего массив объектов, в среде Delphi. Модульная структура программного комплекса. Процедура сортировки методом вставки.
курсовая работа [2,2 M], добавлен 20.09.2014Разработка базы данных книжного магазина в среде программирования Delphi. Создание таблиц и их заполнение. Требования к составу и параметрам технических средств. База данных как набор файлов, содержащих информацию. Этапы создания приложения в Delphi.
курсовая работа [803,6 K], добавлен 04.11.2012Программа поиска в базе данных в среде Borland Delphi 7.0 Enterprise. Условия и блок-схемы задач. Ввод массива. Текст программ в Delphi, в Паскаль. Текст программы поиска в базе данных. Кодирование материала. Изготовление реляционной базы данных.
практическая работа [27,6 K], добавлен 11.10.2008Анализ предметной области разрабатываемой информационной системы "Библиотека". Проектирование базы данных в среде MS Access. Физическая реализация данной информационной системы средствами Delphi 7 и MS Access 2003. Области применения технологии BDE.
курсовая работа [2,4 M], добавлен 12.01.2016Разработка приложения для осуществления работы с медицинскими данными с последующей их визуализацией. Изучение типов данных и свойств полей Access. Компоненты наборов данных. Структура базы данных для клиники. Экранные формы для отображения справочников.
курсовая работа [1,5 M], добавлен 14.08.2014