Задание
База данных должна содержать сведения о следующих объектах:
Сотрудники - фамилия, имя, отчество, адрес, дата рождения, должность, оклад, сведения о
перемещении (должность, причина перевода, номер и дата приказа).
Мастера - фамилия, специализация (марки телевизоров, которые может ремонтировать),
список запчастей (материалов), находящихся на руках у мастера (наименование, количество,
единица измерения, стоимость).
Клиенты - фамилия, имя, отчество, адрес, телефон, заявка (марка телевизора, дата заявки,
мастер, выполнивший заявку, дата выполнения, неисправность, список использованных
запчастей (материалов) (количество, единица измерения), номер квитанции).
Выходные документы
-
Гистограмма распределения неисправностей по маркам ТВ.
-
Справка о распределение запчастей (материалов) по мастерам.
Бизнес правила
-
Каждый мастер специализируется в ремонте нескольких марок телевизоров.
-
Клиент делает только одну заявку, повторные заявки этого клиента рассматриваются какзаявки нового клиента.
-
Заявку выполняет мастер, имеющий соответствующую специализацию. После выполнениязаявок с мастера списываются использованные материалы и запчасти.
-
Мастер может выполнить в день не более 5 заявок.
-
Стоимость ремонта определяется стоимостью использованных материалов(запчастей)+фиксированная стоимость вызова мастера.
-
Сведения о выполненных заявках сохраняются в течение года.
-
Сведения об уволенных сотрудниках сохраняются в течение 5 лет.Количество исполнителей – 1
Функционал программы
- Добавление/редактирование/удаление
- Поиск
- Выгрузка в excel
Фрагмент программного кода
private void button1_Click(object sender, EventArgs e) { if (textBox1.Text.Length != 0) { Speak.dat.Clear(); SqlConnection connection = new SqlConnection(Speak.connect); SqlCommand myCmd = new SqlCommand(); connection.Open(); myCmd.Connection = connection; myCmd.CommandType = CommandType.StoredProcedure; if (radioButton1.Checked == true) { myCmd.Parameters.AddWithValue("@word", textBox1.Text); myCmd.CommandText = "find_fkl"; myCmd.ExecuteNonQuery(); Sql_adapter_find = new SqlDataAdapter(myCmd); Sql_adapter_find.Fill(Speak.dat, "find_fkl"); Speak.grid.DataSource = Speak.dat.Tables["find_fkl"]; textBox1.Clear(); } else if (radioButton2.Checked == true) { myCmd.Parameters.AddWithValue("@word", textBox1.Text); myCmd.CommandText = "find_fsotr"; myCmd.ExecuteNonQuery(); Sql_adapter_find = new SqlDataAdapter(myCmd); Sql_adapter_find.Fill(Speak.dat, "find_fsotr"); Speak.grid.DataSource = Speak.dat.Tables["find_fsotr"]; textBox1.Clear(); } else if (radioButton4.Checked == true) { myCmd.Parameters.AddWithValue("@word", textBox1.Text); myCmd.CommandText = "find_dolg"; myCmd.ExecuteNonQuery(); Sql_adapter_find = new SqlDataAdapter(myCmd); Sql_adapter_find.Fill(Speak.dat, "find_dolg"); Speak.grid.DataSource = Speak.dat.Tables["find_dolg"]; textBox1.Clear(); } else if (radioButton3.Checked == true) { myCmd.Parameters.AddWithValue("@word", textBox1.Text); myCmd.CommandText = "find_fnk"; myCmd.ExecuteNonQuery(); Sql_adapter_find = new SqlDataAdapter(myCmd); Sql_adapter_find.Fill(Speak.dat, "find_fnk"); Speak.grid.DataSource = Speak.dat.Tables["find_fnk"]; textBox1.Clear(); } } else { MessageBox.Show("Введите ключевое слово поиска", "Поиск", MessageBoxButtons.OK, MessageBoxIcon.Information); } }
Содержание архива
- проект WinForms C#
- файлы базы данных
- файл ReadMe.txt (инструкция по запуску)
Пояснения по запуску программы
- запускайете SQL server c правами админа
- добавляете бд (файл с расширением mdf)
- открываете файл \bin\Debug файл config.txt
- в нем Data Source=******;
- меняете Data Source=имя sql servera
- запускаете проект
Nekit203