ТОП 10:

Создание пользовательского интерфейса для работы с базой данных



Программный интерфейс для базы данных я разрабатывал в объектно-ориентрованной среде Delphi, с помощью Embarcadero RAD Studio. Конструктор форм Delphi в Embarcadero RAD Studio предоставляет разработчику полный набор необходимых компонентов для создания программ любой сложности.

Для реализации поставленных задач мне потребуется 2 формы Delphi.

Рисунок 17 - Начало работы с Delphi в Embarcadero RAD Studio

При запуске Embarcadero RAD Studio выбираем Project --- Add New Project…. Откроется окно выбора проекта. Выбираем каталог Delphi, справа появится выбор возможных для создания типов проектов Delphi, выбираем VCL Form Application.

 

1. После того как появилась наша пустая форма, размещаем на ней необходимые нам компоненты формы для нашего программного интерфейса:

1) Вкладка Win 32, компонент Page Control (компонент, с помощью которого можно создать несколько вкладок, у каждой из которых будут свои компоненты).

2) Вкладка Data Access, компонент Data Source (компонент, необходимый для связывания компонентов).

3) Вкладка dbGo, компонент ADO Table.

Теперь моя форма выглядит следующим образом:

Рисунок 18 - главные компоненты формы

2.

Рисунок 19 - Настройка ADOTable1

Настраиваем компонент ADOTable1. Выделяем на форме компонент ADOTable1 и в инспекторе объектов выбираем свойство Connection String (подключаем к компоненту таблицу «Чек» нашей АИС). В открывшемся окне устанавливаем переключатель Use Connection String кнопка Build, в появившемся окне вкладка «Поставщик данных» выбираем «SQL Server Native Client 11.0», нажимаем «Далее», во вкладке «Соединение» в поле Select or enter a server name выбираем наш локальный сервер БД, включаем переключатель Use Windows NT Integrated security, с помощью выпадающего поля Select Database выбираем нашу БД.

 

 

В инспекторе объектов в поле Table Name выбираем имя интересующей нас таблицы, для открытия набора данных устанавливаем значение свойства Active в положение true.

3. Чтобы связать источник данных с набором данных используется свойство DataSet (Выбираем в нём ADOTable1) компонента Data Source1

4. Размещаем на форме необходимые элементы управления и выполняем их настройку:

1) Вкладка Standard, элемент управления Label (надпись), свойство Caption назначить «Код магазина» Аналогично настроить элементы Label для остальных полей таблицы.

2) Вкладка Data Controls, компонент DBEdit (строка ввода для просмотра и редактирования записей базы данных),

Свойство Data Source – DataSource1

Свойство DataField – выбрать поле «Код магазина», аналогично разместить на форме остальные поля ввода.

3) Вкладка Standard, элемент Memo (элемент хранения данных) – сюда программно будет выводиться полный список купленных товаров.

4) Вкладка Standard, элемент Button (кнопка), свойство Caption «Добавить товар»/«Отмена покупки»/«Печать чека»/«Проверить остаток». При нажатии на кнопку «Добавить товар», в поле Memo будет добавляться запись о товаре, на кнопку «Отмена покупки» - запись будет стираться, на кнопку «Печать чека» - готовый чек будет выводиться на печать, на кнопку «Проверить остаток» - будет открываться форма проверки остатка товара.

5) Так же следует добавить ещё две надписи Label в паре с компонентом Edit вкладки Standard в эти поля будет выводится общая стоимость покупки и стоимость покупки с учётом скидки, свойство Read Only компонентов Edit поставить true.Добавить компонент Combo Box вкладки Standard, с помощью которого будет выбираться способ оплаты.

5. Связывание таблиц «Чек» и «Позиции в чеке». Установка связи между наборами данных. Для этого в свойстве MasterSource, набора данных, связанного с таблицей «Позиции в чеке», задаём имя источника данных главной таблицы «Чек» (поле «Код»)

6. Установка связи между полями, воспользовавшись редактором связей полей общим является поле «Код чека».

 

Первая форма интерфейса выглядит так:

Рисунок 20 - Первая форма программного интерфейса

 

На рисунке 19 элементы Label – это «Код магазина», «Номер чека», «Дата покупки», «Время покупки», «Код продавца», «Код товара», «Сумма покупки», «Код скидки», «Сумма покупки со скидкой». Элементы Button – это «Добавить товар», «Отмена покупки», «Печать чека», «проверить остаток». Цифрой 1 отмечены элементы DBEdit, цифрой 2 – элементы Edit, цифрой 3 – элемент ComboBox, цифрой 4 – элемент Memo.

Создадим форму проверки остатка товара на складе для этого в меню Embarcadero RAD Studio выбираем File --- New --- VCL Form – Delphi. Создастся пустая форма. Разместим и настроим на ней аналогичные компоненты, как и для первой формы (Data Source, ADOTable, Page Control), в поле TableName компонента ADOTable1 выбираем таблицу «Товары». Добавим две надписи Label, в свойстве Caption изменим надписи на них на «Наименование товара» и «Остаток на складе», на против этих надписей разместим компоненты DBEdit (свойство DataSource – DataSource1, DataField – «Наименование

 

товара»/«Остаток на складе»). Разместим кнопки Button для проверки остатков товара и для возврата к оформлению чека.

Рисунок 21 - вторая форма

Вторая форма программного интерфейса выглядит так:

На рисунке 20 цифрой 1 отмечены элементы Label, цифрой 2 – элементы DBEdit, «Вернуться к оформлению чека», «Проверить остаток» - кнопки Button.

Рисунок 22 - Интерфейс работы с АИС "Магазин компьютерных товаров"

Таким образом интерфейс программы будет выглядеть так

 

Продавец 1 раз заполняет поля «Код магазина», «Код продавца» и «Код скидки», поля «Дата покупки» и «Время покупки» заполняются автоматически сверяясь с системным временем/датой, поле «Номер чека заполняется автоматически по порядку. Поля «Сумма покупки» и «Сумма покупки со скидкой» рассчитываются программно исходя из суммы цен товаров и размера скидки на покупку. Если товар в чеке всего один, то продавец вбивает

 

 

код товара в соответствующее поле, вбивает код скидки, и нажимает на кнопку «Печать

чека» (при нажатии на кнопку создаётся текстовый файл чека, который отправляется на печать), если товаров несколько, то для добавления товара в чек продавец должен нажать кнопку «Добавить товар», в элемент Memo добавится запись о товаре, который был указан в поле «Код товара», само поле «Код товара» станет снова доступным для ввода, после того как все товары добавлены, продавец выбирает код скидки и отправляет чек на печать. Для того чтобы проверить остаток товаров на складе, продавец, нажатием на кнопку «Проверить остаток», вызывает окно проверки остатков товара, в котором в поле «Наименование товара» вбивает наименование интересующего товара, нажимает на кнопку «Проверить остаток» (создаётся запрос к таблице «Товары» базы данных «АИС Магазин компьютерных товаров», который делает выборку товара по его наименованию) и в поле «Остаток на складе» выводится значение соответствующего поля из таблицы.


 

ЗАКЛЮЧЕНИЕ

 

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

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

 


 

СПИСОК ЛИТЕРАТУРЫ

1. Бондарь А. – «Microsoft SQL Server 2012. Наиболее полное руководство» 2013г.

2. Дмитрий Осипов – «Базы данных и Delphi. Теория и практика» 2014г.

3. Культин Н.Б. «Основы программирования в Embarcadero Delphi» 2015г.

4. Осипов Д.Л. Delphi. «Программирование для Windows, OS X, iOS и Android» 2014г.

5. Фиайли К. «SQL. Руководство по изучению языка» 2013г.

6. Янк К. – «PHP и MySQL. От новичка к профессионалу» 2013г.







Последнее изменение этой страницы: 2016-04-18; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.224.127.143 (0.008 с.)