Разработка приложения базы данных.




Разработка приложения базы данных на основе СУБД MS SQL-Server

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

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

При разработке информационной системы приходится решать две основные задачи:

  1. Разработка базы данных, предназначенной для хранения информации;
  2. Разработка графического интерфейса пользователя клиентских приложений.

Техническое задание. Разработать приложение «Официант», которое позволило бы оформлять заказы клиентов с разных столов и получать итоговую сумму заказа.

 

Разработка базы данных.

 

Пользователем приложения будут являться официанты. Основные задачи, которые будет выполнять приложение:

- Хранение информации о блюдах;

- Хранение информации о стоимости блюд;

- Создание заказа;

- Возможность оформить дозаказ;

- Возможность корректировки информации о блюдах.

 

Таким образом, таблицы, которые необходимо создать в БД:

 

Table_food (id, name) Названия столика
Food (id, name, price) Блюдо, его название и цена
Order_food (id, table_food_id, Food_id, kol, activity) Заказ покупателя, хранит информацию о том за каким столом, какое блюдо и в каком количестве было заказано. Поле activity показывает активность заказа, т.е. находится ли клиент еще за столом – требуется для того, чтобы была возможность осуществить дозаказ, а также показывает оплатил клиент заказ или нет.

 

Схема БД будет следующая:

Приступаем к реализации. Для начала надо создать таблицы в MS SQL-Server. Запускаем среду SQL Server Management Studio. Слева в меню создаем базу данных:

В появившемся диалоговом окне необходимо указать имя базы данных, пусть это будет MYDB.

 

 

Далее выполним команду Создать запрос (ctrl+N), появится текстовый редактор, куда необходимо внести тексты запросов на создание таблиц. В нашем случае это:

Use MyDB;

create table Food(id int Primary key, name varchar(145));

 

create table Table_food(id int Primary key, name varchar(145));

 

create table Order_food

(id int Primary key IDENTITI(1,1),

table_food_id int,

Food_id int,

kol int,

activity tinyint

CONSTRAINT fk1 FOREIGN KEY (table_food_id)

REFERENCES Table_food(id),

CONSTRAINT fk2 FOREIGN KEY (Food_id)

REFERENCES Food(id)

);

 

На этом разработка БД завершена.

Разработка приложения базы данных.

 

Графический интерфейс приложения:

Меню добавить содержит две команды: редактировать столы и редактировать блюда. При нажатии на эти кнопки необходимо организовать ввод новых блюд и новых столов, эти блюда и столы должны сохраниться в соответствующих таблицах.

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

Кнопка добавить блюдо – открывает форму выбора блюда с указанием цен.

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

Кнопка рассчитать сумму заказа – рассчитывает сумму заказа и выводит эту информацию в поле сумма заказа.

Кнопка закрыть заказ – освобождает столик, т.е. делает заказ не активным.

 

Приступаем к реализации. Запускаем среду Visual Studio и создаем новый проект Windows Forms. Разрабатываем исходный интерфейс формы (см рис выше). Добавляем в проект еще две формы – одна для редактирования таблицы столов (FormTable), другая для редактирования таблицы блюд (FormFood). На формах размещаем элемент DataGriedView и переходим к настройке источника данных:

Откроется мастер настройки источника данных, следуем по рисункам:

 

 

 

Далее необходимо создать подключение:

 

В качестве источника данных укажите Microsoft SQL Server и введите имя сервера и выберите имя базы данных.

Затем укажите источник информации для таблице на форме:

 

Форма примет вид:

Если посмотреть код этой формы, то увидим, что появилась процедура

private void FormFood_Load(object sender, EventArgs e)

{

// TODO: данная строка кода позволяет загрузить данные в таблицу "myDBDataSet2.Food". При необходимости она может быть перемещена или удалена.

this.foodTableAdapter.Fill(this.myDBDataSet2.Food);

 

}

Эта процедура – обработчик события «загрузка формы», т.е. этот код срабатывает тогда, когда форма открывается. Кроме того, в окне источники данных, появился источник данных myDBDataSet Это элемент DataSet – буфер для хранения данных из базы данных. В нашем случае он хранит информацию из таблицы Food. Метод Fill получает данные из источника данных. TableAdapter – адаптер таблицы обеспечивает связь между приложением и базой данных путем выполнения инструкций SQL.

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

this.foodTableAdapter.Update(this.myDBDataSet2);

Опять идет работа с адаптером таблицы, эта команда обновляет таблицу на сервере.

В основной форме приложения, назначим обработчик события «Редактировать блюда»:

FormFood F = new FormFood();

F.Show();

Эта команда просто откроет форму FormFood, где можно редактировать данные.

Аналогичные действия надо сделать и для формы редактирования столов.

Переходим к составлению кода основной формы.

Какие обработчики событий нам потребуются?

1. При открытии формы надо загрузить в список выбора столов (commboBox1) все столы.

2. При выборе стола загрузить таблицу с уже заказанными блюдами, если стол занят (флаг активность стола в таблице заказы клиентов в положении истина)

3. Обработчик нажатия на кнопку сохранить – сохраняет заказ (обновляет данные в таблице Заказы клиентов, при этом активность стола в положении истина)

4. Рассчитать заказ – кнопка по которой на форме появляется надпись с суммой заказа.

5. Закрыть заказ (обновляет данные в таблице Заказы клиентов, при этом активность стола переводит в положение ложь)

6. При изменении значения столбца количество требуется перерасчет столбца сумма.

7. При нажатии на кнопку Добавить блюда должно открыться диалоговое окно выбора блюда. При выборе блюда требуется перенос данных об этом блюде в таблицу.

Как мы видим большая часть команд – это sql-запросы к базе данных. Для того, чтобы эти запросы выполнить необходимо подключить пространство имен using System.Data.SqlClient; Далее разрабатываем по пунктам.

1. В конструкторе формы создаем обработчик события открытия формы. Это событие формы Load. В этой функции создаем объект DataAdapter. DataAdapter – составная часть провайдера данных. То есть подсоединенная компонента объектной модели ADO.NET. Используется для заполнения объекта DataSet и модификации источника данных. Выполняет функции посредника при взаимодействии БД и объекта DataSet. Обеспечивает связь между источником данных и объектом DataSet. С одной стороны, база данных, с другой – DataSet. Извлечение данных и заполнение объекта DataSet – назначение DataAdapter

 

SqlDataAdapter dataAdapter = new SqlDataAdapter(CommandText, ConnectionString);

 

В качестве параметров DataAdapter передаются CommandText и ConnectionString. Переменная типа string CommandText представляет собой обычный SQL-запрос на выборку из таблицы, а переменная типа СonnectionString – это так называемая строка подключения, в которой указываются расположение базы данных, ее название, параметры авторизации и пр.

Нам потребуется получить все столы и заполнить список выбора столов (commboBox1). Запрос к БД будет следующий:



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: