Разработка информационной системы АЗС с использованием клиент-серверной технологии

Проектирование физической и логической моделей удаленной базы данных для АЗС. Разработка базы данных в СУБД Firebird с помощью утилиты IBExpert. Создание клиентского приложения для Windows с использованием клиент-серверной технологии в среде C++ Builder.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 18.01.2017
Размер файла 3,9 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Разработка информационной системы АЗС с использованием клиент-серверной технологии

План

Введение

1. Проектирование информационной системы

1.1 Проектирование информационного обеспечения

1.1.1 Выбор СУБД

1.1.2 Системный анализ предметной области

1.1.3 Инфологическое проектирование БД

1.1.4 Даталогическое проектирование БД

1.2 Проектирование программного обеспечения

1.2.1 Выбор инструментальных средств для создания ПО

1.2.2 Определение задач решаемых информационной системой

2. Разработка информационной системы

2.1 Разработка информационного обеспечения

2.1.1 Физическое проектирование БД

2.1.2 Программирование на стороне SQL-сервера

2.2 Разработка программного обеспечения

2.2.1 Создание Win-приложения

3. Тестирование информационной системы

3.1 Пользовательский интерфейс

3.1.1 Интерфейс Win-приложения

Заключение

Список использованных источников

Приложение

Введение

Целью выполнения курсовой работы является разработка информационной системы АЗС с использованием клиент-серверной технологии. Для выполнения поставленной цели были определены следующие задачи:

· проектирование физической и логической моделей удаленной базы данных;

· разработка базы данных в СУБД Firebird с помощью утилиты IBExpert;

· создание клиентского приложения для Windows с использованием клиент-серверной технологии в инструментальной среде разработки C++ Builder;

Курсовая работа состоит из следующих глав:

Первая глава посвящена выбору программного обеспечения и системному анализу предметной области.

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

В третьей главе показан пользовательский интерфейс при работе с win-приложением, а так же и само тестирование разработанного клиент-серверного приложения.

Данная курсовая работа состоит из 41 страницы, 50 рисунков, 2 таблиц, 4 литературных источников и 8 приложений.

1. Проектирование информационной системы

1.1 Проектирование информационного обеспечения

база данные клиент серверный

1.1.1 Выбор СУБД

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

Для разработки информационной системы Автозаправочной станции (АЗС) с использованием клиент-серверной технологии выбрана СУБД - FireBird. Данная система управления баз данных достаточно компактная реляционная система с архитектурой клиент-сервер. Она может выполняться на разнообразных серверных и клиентских платформах, таких как Windows, Linux и на некоторых других платформах UNIX, включая Mac OS X.

Для управления базой данных сервер FireВird использует домены, просмотры, хранимые процедуры, триггеры, генераторы, транзакции, а также пользовательские функции. Для работы с FireBird была выбрана утилита IBExpert, которая позволяет не только полностью управлять структурами баз данных, но также создавать механизмы управления базой данных и отлаживать их.

1.1.2 Системный анализ предметной области

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

осуществлять добавление, изменение и удаление данных из созданных таблиц;

просматривать данные о клиентах, дисконтных карт клиентов, заправщиках, покупке топлива клиентами, типе топлива;

осуществлять поиск, фильтрацию и сортировку данных для более удобного представления их пользователю.

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

1.1.3 Инфологическое проектирование БД и Даталогическое проектирование БД

Цель инфологического этапа проектирования состоит в получении семантических моделей, отражающих предметную область и информационные потребности пользователей. В качестве инструмента для построения семантических моделей данных на этапе инфологического проектирования является неформальная модель "Сущность-Связь" (Entity-Relationship). Моделирование предметной области базируется на использовании графических диаграмм, включающих небольшое число разнородных компонентов.

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

Таким образом, на этапе инфологического проектирования была создана модель «сущность - связь» («Entity-Relationship») будущей базы данных, представленная на рисунке 1.

Рисунок 1 - Логическая ER-модель АЗС

Даталогическое проектирование является проектированием логической структуры БД, что означает определение всех информационных единиц и связей между ними, задание их имен и типов, а также некоторых количественных характеристик (например, длины поля).

При проектировании логической структуры БД, осуществляется преобразование исходной инфологической модели в модель данных, поддерживаемую конкретной СУБД, и проверка адекватности полученной даталогической модели отображаемой предметной области.

Даталогическая модель - это набор схем отношений, обычно с указанием первичных ключей, а также «связей» между отношениями, представляющих собой внешние (вторичные) ключи.

В реляционных БД даталогическое или логическое проектирование приводит к разработке схемы БД, то есть совокупности схем отношений, которые адекватно моделируют абстрактные объекты предметной области и семантические связи между этими объектами. Основой анализа корректности схемы являются так называемые функциональные зависимости между атрибутами БД. Некоторые зависимости между атрибутами отношений являются нежелательными из-за побочных эффектов и аномалий, которые они вызывают при модификации БД. При этом под процессом модификации БД мы понимаем внесение новых данных в БД или удаление некоторых данных из БД, а также обновление значений некоторых атрибутов.

1.2 Проектирование программного обеспечения

1.2.1 Выбор инструментальных средств для создания ПО

Для создания удаленной базы данных была использована утилита IBExpert. Она обладает множеством облегчающих работу компонентов: визуальный редактор для всех объектов базы данных, редактор SQL и исполнитель скриптов, отладчик для хранимых процедур и триггеров, построитель области, инструмент для импорта данных из различных источников, собственный скриптовый язык, а также дизайнер баз данных и т. д. Так же IBExpert является инструментом для администрирования баз данных InterBase и Firebird. В качестве сервера базы данных был выбран Firebird. Он может обрабатывать несколько сотен независимых баз данных, каждую с множеством пользовательских соединений. Он является полностью свободным от лицензионных отчислений даже для коммерческого использования. Таким образом, с помощью вышеперечисленных программных продуктов было разработано приложение в системе Borland C++ Builder 6.0. Данная система используется программистами для разработки программного обеспечения на языке C++, так же она поддерживает работу с базами данных под управлением Firebird. Разработанное приложение будет позволять производить пользователю администрирование удаленной базы данных «Автозаправочная станция».

1.2.2 Определение задач, решаемых информационной системой

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

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

2. Разработка информационной системы

2.1 Разработка информационного обеспечения

2.1.1 Физическое проектирование БД

Физическое проектирование базы данных - процесс подготовки описания реализации базы данных на вторичных запоминающих устройствах; на этом этапе рассматриваются основные отношения, организация файлов и индексов, предназначенных для обеспечения эффективного доступа к данным, а также все связанные с этим ограничения целостности и средства защиты. Физическое проектирование является третьим и последним этапом создания проекта базы данных, при выполнении которого проектировщик принимает решения о способах реализации разрабатываемой базы данных. Приступая к физическому проектированию базы данных, прежде всего необходимо выбрать конкретную целевую СУБД. Поэтому физическое проектирование неразрывно связано с конкретной СУБД. Как правило, основной целью физического проектирования базы данных является описание способа физической реализации логического проекта базы данных.

Рисунок 2 - Физическая ER-модель

Программирование на стороне SQL-сервера

Для создания базы данных «АЗС», как было описано в предыдущей главе, выбрана утилита IBExpert. На рисунке 3 представлено окно создания базы данных.

Рисунок 3 - Создание базы данных

Следующим этапом осуществлялась регистрация БД, с использованием FireBird версии 2.1, процесс регистрации показан на рисунке 4.

Таким образом, после создания и регистрации базы данных, была построена таблица доменов, которые в будущем будут использоваться в качестве типов данных. В таблице 1 представлены домены , которые предварительно были записаны, с их типом данных , длиной и именем домена.

Рисунок 4 - Регистрация базы данных

Таблица 1 - Домены

Имя таблицы

Имя

поля

Тип

Длина

Десятичная часть

Имя домена

FUEL

TYPE_FUEL

VARCHAR

30

D_NAME

PRICE

NUMERIC

6

D_PRICE

CARD_CLIENTS

NAME_CARD

VARCHAR

30

D_NAME

DISCOUNT

INTEGER

D_INT

CLIENTS

ID_CLIENTS

SMALLINT

D_INDEXTYPE

NAME

VARCHAR

30

D_NAME

SURNAME

VARCHAR

30

D_NAME

MIDDLE_NAME

VARCHAR

30

D_NAME

PHONE

INTEGER

D_INT

NAME_CARD

VARCHAR

30

D_NAME

REFILL

ID_REFILL

SMALLINT

D_INDEXTYPE

DATE

DATE

D_DATE

FUELED_LITERS

FLOAT

D_FLOAT

CLIENTS_ID

SMALLINT

D_INDEXTYPE

PERSONNEL_ID

SMALLINT

D_INDEXTYPE

TYPE_FUEL

VARCHAR

30

D_NAME

PERSONNEL

ID_PERSONNEL

SMALLINT

D_INDEXTYPE

NAME

VARCHAR

30

D_NAME

SURNAME

VARCHAR

30

D_NAME

MIDDLE_NAME

VARCHAR

30

D_NAME

ADRESS

VARCHAR

30

D_NAME

Для создания домена D_INDEXTYPE, который будет использоваться для всех полей которые содержат уникальные номера. На рисунке 5 представлен фрагмент создания домена D_INDEXTYPE написанный в SQL Редакторе.

Рисунок 5 - Создание домена

Создание остальных доменов описанных выше в таблице 1 осуществлены аналогичным способом. Таким образом , на рисунке 6 приведен список всех созданных доменов.

Рисунок 6 - Список созданных доменов

Первоначальным этапом создания таблиц БД, был определен порядок создания таблиц, так как в БД существуют как первичные так и вторичные ключи. Первыми созданными таблицами являлись «Fuel» - Топливо, «Personnel» - Заправщики и «Card_clients» - Дисконтные карты клиентов, так как в этих таблицах отсутствуют вторичные ключи. Далее после выполненных операций перечисленных выше, осуществлялось создание самих таблиц. Для создания таблицs в БД , был открыт SQL редактор, на рисунке 8 показан фрагмент написания запроса на создание таблицы Топливо(FUEL).

Рисунок 7 - Создание таблицы

На рисунке 8 представлен результат создания таблицы «FUEL».

Рисунок 8 - Результат создания таблицы «FUEL»

Остальные две таблицы создавались аналогичным образом. Следующей по порядку таблицей , для реализации, являлась таблица «Personnel». На рисунке 9 приведен результат создания таблицы «Personnel».

Рисунок 9 - Результат создания таблицы «Personnel»

Результат создания таблицы «Card_clients» показан на рисунке 10.

Рисунок 10 - Результат создания таблицы «Card_clients»

Далее было осуществлено создание таблиц , в которых имеются вторичные ключи. Такими таблицами являются «Clients» - Клиенты и «Refill» - Покупка топлива. Создание таблицы Клиенты, в котором используется внешний ключ, взятый из таблицы Карты клиентов, а именно поле - «Название карты»(NAME_CARD), рис 11.

Рисунок 11 - SQL запрос

Результат создания таблицы «Clients» приведен на рисунке 12.

Рисунок 12 - Результат создания таблицы «Card_clients»

Аналогичным образом создавалась таблица «Refill». в которой использовались 3 внешних ключа с разных таблиц. Результат создания таблицы «Refill» приведен на рисунке 13.

Рисунок 13 - Результат создания таблицы «Refill»

На рисунке 14, представлен список созданных таблиц.

Рисунок 14 - Список созданных таблиц

Следующим этапом разработки БД, осуществлялось создание генераторов. Он является специальным объектом базы данных, который генерирует уникальные последовательные числа.

На следующем рисунке 15, показан фрагмент написания запроса на создание генератора «gen_id_clients», в котором задается значение 7.

Рисунок 15 - Написание SQL запроса

Аналогичным образом создавался второй генератор. На рисунке 16 представлены все созданные генераторы , со своими значениями.

Рисунок 16 - Список созданных генераторов

После создания генератора , был написан запрос на создание триггера , который будет заполнять автоматически «Номер клиента (id_clients)», из таблицы «Клиенты (clients)» ,представленный на рисунке 17.

Рисунок 17 - Написание SQL запроса

На рисунке 18 показаны созданные триггеры, второй триггер был создан аналогично написанному запросу представленным выше.

Рисунок 18 - Список созданных триггеров

На следующем этапе разработки БД осуществлялось создание представлений, предназначенные для просмотра объединённых таблиц, либо вычисления агрегатных функций.

Для создания представления был написан код в редакторе SQL, в представлении будет выводится информация о клиентах из таблицы «Клиенты» и скидки их карт из таблицы «Карты_клиентов», на рисунке 19 приведен SQL-скрипт просмотра.

Остальные представления создавались аналогичным образом. На рисунке 20 приведен список созданных представлений.

Рисунок 19 - SQL-скрипт просмотра

Рисунок 20 - Список созданных представлений

Далее осуществлялось создание хранимых процедур. Хранимые процедуры представляют собой программы, хранящиеся на сервере в двоичном виде, как часть базы данных. Создав хранимую процедуру ,ее можно будет вызвать в любое время из приложения. Хранимые процедуры на добавление удаление и изменение будут представлены из трех разных таблиц.

На рисунке 21 приведен SQL запрос на создание процедуры с помощью которой после выполнения можно добавить информацию в таблицу «Clietns».

Процедуры добавления данных для остальных таблиц создавались аналогичным образом.

На рисунке 23 представлен фрагмент написания SQL запроса на создание процедуры удаления данных из таблицы «Refill» ,где удаление данных будет производиться согласно номеру покупки топлива, с помощью его ввода.

Рисунок 21 - SQL запрос

Рисунок 22 - SQL запрос

Рисунок 22 - SQL запрос

Процедуры удаления данных для остальных таблиц создавались аналогичным образом.

На рисунке 27 приведен фрагмент написания SQL запроса на создание процедуры модификации данных. В котором осуществляется замена данных из таблицы «Clients».

Процедуры изменения данных для остальных таблиц создавались аналогичным образом.

Список созданных хранимых процедур представлен на рисунке 23.

Рисунок 23 - Список всех хранимых процедур

2.2 Разработка программного обеспечения

2.2.1 Создание Win-приложения.

Для создание Win приложения, использовался программный продукт C++ Builder. Первым делом был создан проект, далее в «DataModule» были помещены необходимые компоненты, для реализации будущего приложения.

На рисунке 24 представлен «DataModule» в котором хранились все созданные компоненты в течении разработки приложения.

Рисунок 24. Компоненты в DataModule.

В компоненте «DataBase1» были применены свойства, в которых был указан путь к созданной ранее БД в утилите IBExpert а так же сервер, на рисунке 25 представлен фрагмент применения свойств.

Рисунок 25. Применение свойств

Свойства IBDataBase и IBTransaction Были настроены с помощью инспектора объектов следующим образом, как представлено на рисункe 26.

Рисунок 26. Настроенные компоненты IBDatabase и IBTransaction

На форму были помещены все визуальные компоненты, которые необходимы для работы с БД. На рисунке 27 представлена форма, в которой будут отображаться все представления, созданные в IBExpert. Для представлений в Форме, были применены такие компоненты как IBTable и DataSource, в компоненте IBTable в свойствах изначально была применена подключенная БД, далее выбран в свойстве TableName была выбрана таблица которая будет далее выводится на экран с помощью компоненты DBGrid. После этого IBTable была связана непосредственно с DataSource. Все остальные представления были созданы аналогичным образом.

2.2.2 Добавление, удаление и изменение данных в таблицах базы данных

Следующим этапом разработки win-приложения была реализация хранимых процедур. Для реализации первой хранимой процедуры «CLIENTS_ADD» для добавления клиента в базу данных был использован компонент IBStoredProc, в котором была добавлена БД и непосредственно хранимая процедура CLIENTS_ADD из созданной БД в IBExpert. Далее в DataModule были помещены такие компоненты как IBQuery и DataSource, после чего была осуществлена связь между этими компонентами. В компненте IBQuery для отображения таблицы в первую очередь был написан запрос , рис 27.

Рисунок 27 - Написание запроса на вывод таблицы «Клиенты»

Далее на форму были помещены компоненты для выполнения добавления данных в таблицу «Клиенты», такие как Edit и Button.

Для кнопки «Добавить» первоначально был написан код, показанный на рисунке 28.

Рисунок 28 - Код для кнопки «Добавить»

Для остальных таблиц были совершены аналогичные операции.

Далее была реализована хранимая процедура для изменения данных в таблице «Клиенты». Для этого были применены те же компоненты описанные выше для таблицы «Клиенты». В данном случае при выборе кнопки изменить, добавить или удалить, в компонент IBStoredProc первоначально вписывается хранимая процедура которая будет выполняться в будущем, далее уже прописываются поля по которым будет изменяться информация. На рисунке 29 приведен код кнопки «Изменить».

Для остальных таблиц были совершены аналогичные операции.

Для реализации хранимой процедуры удаления данных, для начала был написан код, в котором первоначально в компоненту IBStoredProc в свойстве StoredProcName выбирается хранимая процедура из созданной БД в IBExpert. На рисунке 30 представлен код кнопки на удаление данных из таблицы «Клиенты». Удаление данных будет осуществляться по всей строке, при вводе номера клиента.

Рисунок 29 - Код для кнопки «Именить»

Рисунок 30 - Код для удаления данных

Для остальных таблиц были совершены аналогичные операции.

2.2.3 Фильтрация, поиск и сортировки данных в таблицах базы данных c использованием технологии BDE

Следующим этапом разработки являлись функции сортировки, фильтрации и поиска данных. Для выполнения операции сортировки в таблице «Топливо» , был написан следующий код, представленный на рисунке 31. В этом коде будут сортироваться два поля «Тип топлива» и «Цена», так же будут предложены два выбора направления сортировки того или иного поля.

Рисунок 31 - Код для сортировки

Для остальных таблиц были совершены аналогичные операции.

Так же была разработана кнопка сброса, которая позволяет вернуть позиции данных в прежнее состояние ,на рисунке 32 представлен код кнопки «Сброс».

Рисунок 32 - Код кнопки «Сброс»

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

Для реализации поиска были применены те же компоненты описанные выше. Для поиска на форму так же были добавлены компоненты для ввода данных и применения поиска. На рисунке 34 представлен код кнопки «Поиск». Данный поиск будет осуществляться в таблице «Refill» по номеру покупки топлива.

Рисунок 33 - Код кнопки для фильтрации

Рисунок 34 - Код кнопки «Поиск»

Для остальных таблиц были совершены аналогичные операции.

2.2.4 Составление отчетов

Для реализации отчетов первоначально была создана форма в которой будут храниться компоненты необходимые для формирования отчетов. В новую форму был добавлен компонент QuickRep1 который будет отображать отчет в дальнейшем. Далее в свойстве этой компоненты был применен DataModule2->DataSource19, который обращается к таблице «Кленты». На рисунке 35 приведен фрагмент отчета.

Далее в форме с таблицей была добавлена кнопка «Сформировать отчет» в который был написан следующий код:

Form3->QuickRep1->Preview();

Рисунок 35. Компоненты для формирования отчета

3. Тестирование информационной системы

3.1 Пользовательский интерфейс

3.1.1 Интерфейс Win-приложения

Разработанное приложение состоит из отдельных вкладок, каждая из которых выполняет свою функцию. В первой вкладке изображены компоненты позволяющие просмотреть все данные о таблицах. На рисунке 36 представлено ранее созданное представление , в котором приведена вся информация таблицы «Клиенты».

Рисунок 36. Форма с представлениями

Рисунок 37 - Заполнение данных

На рисунке 37 приставлен фрагмент запыления данных для добавления в таблицу «Клиенты».

Далее была нажата кнопка Добавить, после чего можно заметить добавленные данные в таблице «Клиенты», рис 38.

Рисунок 38 - Результат добавления данных

Рисунок 39. Заполнение данных для изменения

На рисунке 39 представлен фрагмент заполнения данных для их изменения в таблице «Клиенты».

На рисунке 39 видно что будет осуществляться изменение клиента под номером 1, на рисунке 40 представлен результат, после нажатия на кнопку «Изменить».

Рисунок 40 - Результат изменения данных

На рисунке 41 приставлен фрагмент заполнения строки номера клиента которого хотим удалить, в нашем случае клиент под номером 19.

Рисунок 41 - Заполнение сроки «Номер клиента»

Далее была нажата кнопка «Удалить», после чего можно заметить результат удаления, рис 42.

Рисунок 42. Результат удаления клиента под номером 19

На рисунке 43 приведен фрагмент применения сортировки по убыванию в поле «тип топлива».

Рисунок 43 - Результат выполнения сортировки

На рисунке 44 приведен фрагмент сортировки по возрастанию поля «Цена».

Рисунок 44 - Результат выполнения сортировки

На рисунке 45 приведен фрагмент ввода названия карты, которая будет в дальнейшем фильтроваться.

Рисунок 45 - Ввод названия карты

Рисунок 46 - Результат нажатия кнопки «Применить»

Далее была нажата кнопка «Применить», после чего на рисунке 46 можно заметить результат выполнения операции.

Далее будет осуществляться поиск по номеру покупки топлива в таблице «Покупка топлива». На рисунке 47 приведен фрагмент заполнения номера покупки топлива.

Рисунок 47 - Ввод данных для поиска

Рисунок 48 - Результат выполнения поиска

На рисунке 48 представлен результат выполнения поиска, можно заметить что курсор слева наведен именно на тот номер покупки, который был введен ранее.

На рисунке 49 приведен фрагмент созданной кнопки «Сформировать отчет» в таблице «Клиенты».

Рисунок 49 - Созданная кнопка для формирования отчета

Рисунок 50 - Сформированный отчет по клиентам

На рисунке 50 представлен фрагмент сформированного отчета по клиентам.

Заключение

В данной курсовой работе была осуществлена задача по проектированию и созданию удаленной базы данных, а также win-приложений для ее администрирования с использованием клиент-серверной технологии. Программирование на стороне сервера было осуществлено в СУБД FireBird 2.1 с помощью утилиты IBExpert, а клиентская часть приложения - в C++Builder с помощью технологии доступа к данным InterBaseExpress (IBX) свободно распространяемая система управления базами данных, использующая клиент-серверную технологию. Помимо создания таблиц и связей между ними Firebird поддерживает создание доменов, хранимых процедур, представлений, триггеров, индексов, исключений.

В ходе выполнения курсовой работы были приобретены практические и теоретические знания и навыки в области создания удаленных баз данных, а также создания win-приложений. Таким образом, задачи, поставленные в начале курсовой работы, были выполнены, а цель - достигнута.

Список использованных источников

Голуб А. Правила программирования на С и С++. - Москва 2001 г. - 241с.

Пахомов Б.И. С/С++ и Borland C++ Builder для начинающих. - СПб.: БХВ-Петербург, 2005. - 640 с.: ил.

Селко Дж. SQL для профессионалов Программирование. Второе издание. - Издательство «Лори», 2004. - 442 с.: ил.

4. Базы данных и СУБД: учеб. Пособие /В.М. Михелёв. - Белгород: Изд-во БелГУ, 2007. - 200с.

Приложение 1

Описание созданных компонентов, в виде таблицы, в win - приложении

Компонент

Применение

Query1

Используется SQL код для выводя и модификации данных «Clients»

Query2

Используется SQL код для выводя и модификации данных «card_clients»

Query3

Используется SQL код для выводя и модификации данных «Fuel»

Query8

Используется SQL код для выводя и модификации данных «Refill»

Query9

Используется SQL код для выводя и модификации данных «Personnel»

Query4

Используется SQL код выбора процедуры выборки таблицы «Clients»

Query5

Используется SQL код выбора процедуры выборки таблицы «Сфкв_clients»

Query6

Используется SQL код выбора процедуры выборки таблицы «fuel»

Query7

Используется SQL код выбора процедуры выборки таблицы «refill»

StoreProc1

Использует процедуры для таблицы «Clients»

StoreProc2

Использует процедуры для таблицы «Card_clients»

StoreProc3

Использует процедуры для таблицы «fuel»

StoreProc4

Использует процедуры для таблицы «personnel»

StoreProc5

Использует процедуры для таблицы «refill»

Table1

Использует таблицу «Clients» для представления

Table2

Использует таблицу «Card_clients» для представления

Table3

Использует таблицу «fuel» для представления

Table4

Использует таблицу «personnel» для представления

Table5

Использует таблицу «refill» для представления

Table10

Используется для отчета по таблице «Clients»

Table11

Используется для отчета по таблице «Card_clients»

Table12

Используется для отчета по таблице «fuel»

Table13

Используется для отчета по таблице «personnel»

Table14

Используется для отчета по таблице «refill»

DataSourse1

Используется для связи Table1 с Grid1

DataSourse2

Используется для связи Table2 с Grid1

DataSourse3

Используется для связи Table3 с Grid1

DataSourse4

Используется для связи Table4 с Grid1

DataSourse7

Используется для связи Table5 с Grid1

DataSourse5

Используется для связи Query1 с Grid2

DataSourse6

Используется для связи Query 2 с Grid3

DataSourse8

Используется для связи Query3 с Grid4

DataSourse17

Используется для связи Query 8 с Grid5

DataSourse18

Используется для связи Query9 с Grid6

DataSourse19

Используется для связи Table10 с QuickRep1

DataSourse20

Используется для связи Table11 с QuickRep2

DataSourse21

Используется для связи Table12 с QuickRep3

DataSourse22

Используется для связи Table13 с QuickRep4

DataSourse23

Используется для связи Table14 с QuickRep5

DataSourse9

Используется для связи Table6 с Grid6

DataSourse10

Используется для связи Query 4 с Grid6

DataSourse11

Используется для связи Table7 с Grid7

DataSourse12

Используется для связи Query 5 с Grid7

DataSourse13

Используется для связи Table8 с Grid8

DataSourse14

Используется для связи Query 6 с Grid9

DataSourse15

Используется для связи Table9 с Grid9

DataSourse16

Используется для связи Query 7 с Grid9

Приложение 2

Код представления таблицы «Clients»

void __fastcall TForm1::Button5Click(TObject *Sender)

{

DBGrid1->DataSource=DataModule2->DataSource2;

}

Приложение 2. Код кнопки добавить данные в таблицу «Clients»

void __fastcall TForm1::Button1Click(TObject *Sender)

{ DBGrid5->DataSource = DataModule2->DataSource5;

DataModule2->IBStoredProc1->StoredProcName="CLIETNS_ADD";

DataModule2->IBStoredProc1->ParamByName("ID_CLIENTS")->AsString = "";

DataModule2->IBStoredProc1->ParamByName("NAME")->AsString = LabeledEdit1->Text;

DataModule2->IBStoredProc1->ParamByName("SURNAME")->AsString = LabeledEdit2->Text;

DataModule2->IBStoredProc1->ParamByName("MIDDLE_NAME")->AsString = LabeledEdit3->Text;

DataModule2->IBStoredProc1->ParamByName("PHONE")->AsString = LabeledEdit4->Text;

DataModule2->IBStoredProc1->ParamByName("NAME_CARDS")->AsString = LabeledEdit5->Text;

DataModule2->IBStoredProc1->Prepare();

DataModule2->IBStoredProc1->ExecProc();

DataModule2->IBTransaction1->Commit();

DataModule2->IBQuery1->Close();

DataModule2->IBQuery1->Open();

}

Приложение 3. Код кнопки изминение данных в таблице «Fuel»

void __fastcall TForm1::Button16Click(TObject *Sender)

{ DBGrid6->DataSource = DataModule2->DataSource17;

DataModule2->IBStoredProc4->StoredProcName="UPDATE_FUEL";

DataModule2->IBStoredProc4->ParamByName("TYPE_FUEL")->AsString=LabeledEdit19->Text;

DataModule2->IBStoredProc4->ParamByName("PRICE")->AsString=LabeledEdit20->Text;

DataModule2->IBStoredProc4->Prepare();

DataModule2->IBStoredProc4->ExecProc();

DataModule2->IBTransaction1->Commit();

DataModule2->IBQuery8->Close();

DataModule2->IBQuery8->Open();

}

Приложение 4. Код кнопки удаление данные из таблицы «Card_clients»

void __fastcall TForm1::Button20Click(TObject *Sender)

{

DBGrid14->DataSource = DataModule2->DataSource18;

DataModule2->IBStoredProc5->StoredProcName="DELETE_CARD";

DataModule2->IBStoredProc5->ParamByName("NAME")->AsString = LabeledEdit21->Text;

DataModule2->IBStoredProc5->Prepare();

DataModule2->IBStoredProc5->ExecProc();

DataModule2->IBTransaction1->Commit();

DataModule2->IBQuery9->Close();

DataModule2->IBQuery9->Open();}

Приложение 5. Код кнопки сортировки данных «Card_clients»

void __fastcall TForm1::Button29Click(TObject *Sender)

{

DBGrid14->DataSource = DataModule2->DataSource18;

AnsiString gg;

switch (RadioGroup6->ItemIndex)

{ case 0: gg="";break;

case 1: gg=" DESC";}

DataModule2->IBQuery9->Close();

DataModule2->IBQuery9->SQL->Clear();

DataModule2->IBQuery9->SQL->Add("select * from CARD_CLIENTS");

switch (RadioGroup5->ItemIndex)

{

case 0: gg="order by name_card"+ gg; break;

case 1: gg="order by discount"+gg;}

DataModule2->IBQuery9->SQL->Add(gg);

DataModule2->IBQuery9->Open();}

Приложение 6. Код кнопки фильтрации данных «Card_clients»

void __fastcall TForm1::Button31Click(TObject *Sender)

{DBGrid14->DataSource = DataModule2->DataSource18;

DataModule2->IBQuery9->Close();

DataModule2->IBQuery9->SQL->Clear();

DataModule2->IBQuery9->SQL->Add("Select * from card_clients");

DataModule2->IBQuery9->SQL->Add("Where name_card like :name");

DataModule2->IBQuery9->Params->ParamByName("name")-> AsString = MaskEdit3->Text + "%";

DataModule2->IBQuery9->Open();}

Приложение 7. Код кнопки поиска данных «Card_clients»

void __fastcall TForm1::Button45Click(TObject *Sender)

{

DataModule2->IBTable12->Open();

DBGrid14->DataSource = DataModule2->DataSource21;

TLocateOptions SOptions;

if (!(DataModule2->IBTable12->Locate("name_card",LabeledEdit25->Text, SOptions<<loPartialKey)))

MessageBox(0,"Не найдено!", "Ошибочка",MB_OK);}

Приложение 8. Код для процедуры выборки табоицы «Clients»

void __fastcall TDataModule2::IBTable6AfterScroll(TDataSet *DataSet)

{

DataModule2->IBQuery4->Close();

DataModule2->IBQuery4->ParamByName("CLIENT_NOM")->AsString = DataModule2->IBTable6->FieldByName("id_clients")->AsInteger;

DataModule2->IBQuery4->Open();}

Размещено на Allbest.ru


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.