Задание
База данных должна содержать сведения о следующих объектах:
Судно - название, грузоподъемность, порт приписки, судовая роль (список членов экипажа -
фамилия, имя, отчество, дата рождения, должность, стаж, оклад), назначение судна,
координаты, дата постановки на капитальный ремонт.
Рейс - судно, генеральный груз, порт отправления, порт назначения, порты захода, даты
выхода - план, даты выхода - факт, даты прибытия - план, даты прибытия - факт, причина
задержки, фрахтователь (название, почтовый адрес, телефон, факс, E-mail, банковские
реквизиты (наименование банка, город, в котором расположен банк, ИНН, расчетный счет))
Выходные документы
-
Сводка о задержке судов в портах захода
-
Сводка о распределении координат судов на текущий час.
Бизнес правила
- Фрахтователь – организация, нанимающая (фрахтующая) судно для перевозки груза
- Координаты судна фиксируются каждый час и сохраняются до момента завершения рейса
- Каждое судно приписано только к одному порту пароходства. К каждому порту приписано
- несколько судов
- Судно может перевозить разные грузы, удовлетворяющие назначению судна.
- Сведения о завершенных рейсах хранятся в течение года.
- Сведения об уволенных работниках хранятся в течение 5 лет.
- Количество исполнителей – 1
Функционал программы
Например:
- Добавление/редактирование/удаление
- Поиск
- Выгрузка в excel
Фрагмент программного кода
private void comboBox_zapros_SelectedIndexChanged(object sender, EventArgs e) { SqlConnection connection = new SqlConnection(Speak.connect); SqlCommand myCmd = new SqlCommand(); connection.Open(); myCmd.Connection = connection; myCmd.CommandType = CommandType.StoredProcedure; try { switch (comboBox_zapros.SelectedIndex) { case 2: { renew.renew(); myCmd.Parameters.AddWithValue("@date", dateTimePicker1.Value.Date); myCmd.CommandText = "del_sotr"; myCmd.ExecuteNonQuery(); MessageBox.Show("Выполнено. ", "Очистка", MessageBoxButtons.OK, MessageBoxIcon.Information); connection.Close(); break; } case 1: { renew.renew(); myCmd.CommandText = "get_yvol"; myCmd.ExecuteNonQuery(); Sql_adapter_zapros = new SqlDataAdapter(myCmd); Sql_adapter_zapros.Fill(Speak.dat, "get_yvol"); dataGridView1.DataSource = Speak.dat.Tables["get_yvol"]; MessageBox.Show("Выполнено.", "Статистика", MessageBoxButtons.OK, MessageBoxIcon.Information); connection.Close(); break; } case 0: { renew.renew(); myCmd.Parameters.AddWithValue("@date", dateTimePicker1.Value.Date); myCmd.CommandText = "del_reis"; myCmd.ExecuteNonQuery(); MessageBox.Show("Выполнено. ", "Очистка", MessageBoxButtons.OK, MessageBoxIcon.Information); connection.Close(); break; } } } catch { MessageBox.Show("Вводимые данные не корректны", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
Содержание архива
- проект WinForms C#
- файлы базы данных
- файл ReadMe.txt (инструкция по запуску)
Пояснения по запуску программы
- запускайете SQL server c правами админа
- добавляете бд (файл с расширением mdf)
- открываете файл \bin\Debug файл config.txt
- в нем Data Source=******;
- меняете Data Source=имя sql servera
- запускаете проект
Nekit203