Разработка полнофункционального клиент-серверного приложения, реализующего прототип информационной системы
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
чателях, для которых не прибыл груз заданного типа:
ALTER procedure pStPr_9(@N varchar(50))p.[Name] from Polychatel pjoin cargo c on.polychatel_id=c.polychatel_idjoin tovar tv on.tovar_id=tv.tovar_idtv.tovar_nazvanie=@N
На рисунке 9:
в listBox1 заносятся результаты выполнения запроса, выдается информация о кодах грузов, их получателей и отправителей для тех грузов, которые погружены на суда, не подходящие по типу с помощью хранимой процедуры pStPr_10.
приложение серверный информационный интерфейс
Рис. 9 - Form 5
Рис. 10 - Form 6
На рисунке 10:
в comboBox1 происходит выбор номера типа судна благодаря выполнению хранимой процедуры (для транзакции №1 - прибытие судна в порт):
PROCEDURE pStPr_12tip_id from tip
в dataGridView1 происходит вывод всех данных таблицы water_craft из базы данных с помощью транзакции (происходит как обновление данных, так и их добавление, т.е. транзакция№1 и №2):
ALTER procedure pTran* from water_craft
5. Диаграммы классов, реализующих уровни презентации, бизнес - логики и базы данных приложения
Рис. 11 - Диаграмма классов. Уровень презентации
Рис. 12 - Диаграммы классов. Уровень БД и бизнес - логики
6. Словесное описание процесса выполнения транзакций
Рис. 13 - Form 6. Форма выполнения транзакции
В данной работе необходимо выполнить транзакции: прибытия судна в порт; убытие судна из порта.
Здесь участвует только таблица water_craft.
DML - команды выполняются в следующей последовательности: вначале выбираются данные из таблицы с помощью команды SELECT, затем происходит добавление записей с помощью команды INSERT, и последним действием происходит сохранение изменений в таблице с помощью команды UPDATE.
При загрузке формы вызывается метода Form6_Load. Все данные таблицы water_craft из базы данных загружаются в dataGridView1. Таблица состоит из девять столбцов: дата ухода, дата прихода, нагруженность, название порта, флаг, капитан, владелец, номер судна, номер типа. В таблице, загруженной в dataGridView1 можно проводить всякого рода изменения:
чтобы изменить дату ухода судна из порта достаточно кликнуть на любой ячейке столбца даты ухода и произвести изменение;
если же Вы хотите произвести изменение в какой-либо другой ячейке, нужно сначала нажать кнопку Clear. Если Вы производите изменение в столбцах с типом string, то при нажатии кнопки Clear ячейка станет пустой и изменение теперь можно производить;
если изменения будут производиться в столбцах типа int или float, то при нажатии кнопки Clear, то в эти ячейки занесется цифра 0, после чего можно производить изменение;
для изменения даты прихода нужно кликнуть на нужную ячейку этого столбца и произодить изменение станет возможно;
если же не нажать на кнопку Clear, то, кроме ячеек столбца даты ухода, изменения ячеек производить невозможно.
Обработка exception и нелепых ситуаций:
если Вы ошибочно ввели неправильный формат влюбой ячейке, произойдет exception и появится сообщение, указыающее на ошибку типа;
если же Вы ввели дату ухода ранее, чем дату прибытия, появится подсказка-сообщение, которое укажет Вам на невозможность этой ситуации;
если же Вы ввели дату прихода позже даты прибытия, появится подсказка-сообщение, которое укажет Вам на невозможность этой ситуации;
еще одна ситуация, где есть недопустимая ситуация - одна из ячеек не заполнена, тогда выведется сообщение, которое предлогает проверить введенные значения.
Чтобы добавить новых сведений о судне, достаточно правильно ввести все данные в новом поле таблицы и нажать кнопку Commit. Если же ошибки не было, то операция пройдет успешно и добавления будут сохранены. В этом случае мы переходим в блок finally, в котором благополучно все завершается. Таким же способом нужно производить и изменения в ячейках.
Если же ошибки произошли при выполнении транзакции, мы переходим в блок catch, в котором показывается одна из перечисленных ошибок и транзакция не выполняется, при этом происходит откат транзакции Rollback, произойдет очистка данных, которые были занесены в таблицу, но не были закреплены.
Еще один нюанс заполнение таблицы - ячейки столбца номер типа судна. Дело в том, что в этой программе лишь семь суден, но пользователь этого может и не знать. Для этого здесь используется comboBox1, в котором пользователь может выбрать одним из семи типов суден.
7. Инструкция пользователя по работе с приложением
Рис. 14 - Main_Form. Главная форма
На рисунке 14 показана главная форма входа в приложение:
Button1 - кнопка, при нажатии которой выполняется запрос №1. Происходит выдача данных о том, сколько груза указанного типа подлежит разгрузке в нашем порту для данного судна. На Form 1 в comboBox1 выбираем судно, а в comboBox2 выбираем груз. После этого в listBox1 выведется результат данного запроса.
Button2 - кнопка, при нажатии которой выполняется запрос №2. Выдача данных о том, сколько груза указанного вида подлежит разгрузке для каждого получателя с судна, которое пришло в порт раньше других судов. На Form 2 в textBox1 выводится номер судна, которое пришло в порт раньше всего, а в textBox2 - тип этого судна. В comboBox1 нужно выбрать интересующий нас груз и в listBox1 выведется количества груза заданного типа.
Button3 - кнопка, при нажатии которой выполняется запрос №3. Выдача данных о том, сколько груза всех видов подлежит разгрузке для данного получателя со всех судов, упорядочив их по названию груза. На Form 3 в comboBox1нужно выбрать получателя и результат запроса выведется в listBox1 в виде информации о получении груза - товара, количества, номера