using MySql.Data.MySqlClient; using NeshinaPolina07_11; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace Neshina13 { public partial class Add : Form { public Add() { InitializeComponent(); LoadComboBoxes(); } private void LoadComboBoxes() { // Загрузка предметов string subjQuery = "SELECT StudySubject_Id, StudySubject_name FROM StudySubjects"; FillComboBox(comboBox1, subjQuery, "StudySubject_name", "StudySubject_Id"); // Загрузка групп string groupQuery = "SELECT Group_Id, CONCAT(GroupNum, ' - ', Group_Special) AS GroupInfo FROM `Group`"; FillComboBox(comboBox2, groupQuery, "GroupInfo", "Group_Id"); // Загрузка преподавателей string teacherQuery = "SELECT Teacher_Id, CONCAT(Teacher_FirstName, ' ', Teacher_LastName, ' ', Teacher_MiddleName) AS TeacherName FROM Teacher"; FillComboBox(comboBox3, teacherQuery, "TeacherName", "Teacher_Id"); // Загрузка ответственных (менеджеров) string managerQuery = "SELECT Manger_Id, CONCAT(Manager_FirstName, ' ', Manager_LastName, ' ', Manager_MiddleName) AS ManagerName FROM Mangers"; FillComboBox(comboBox4, managerQuery, "ManagerName", "Manger_Id"); } private void FillComboBox(ComboBox comboBox, string query, string displayMember, string valueMember) { try { var conn = DB.GetInstance().GetConnection(); using (var adapter = new MySqlDataAdapter(query, conn)) { var table = new DataTable(); adapter.Fill(table); comboBox.DataSource = table; comboBox.DisplayMember = displayMember; comboBox.ValueMember = valueMember; comboBox.SelectedIndex = -1; // Ничего не выбрано по умолчанию } } catch (Exception ex) { MessageBox.Show("Ошибка загрузки данных: " + ex.Message); } } private void button1_Click(object sender, EventArgs e) { // Проверка, что все обязательные поля выбраны if (comboBox1.SelectedValue == null || comboBox2.SelectedValue == null || comboBox3.SelectedValue == null || comboBox4.SelectedValue == null) { MessageBox.Show("Пожалуйста, заполните все поля."); return; } try { var conn = DB.GetInstance().GetConnection(); string insertQuery = @" INSERT INTO Schedule ( Schedule_StudySubject_Id, Schedule_Group_Id, Schedule_Teacher_Id, Schedule_ResponsiblMmanager, Schedule_Date ) VALUES ( @subjectId, @groupId, @teacherId, @managerId, @date );"; using (var cmd = new MySqlCommand(insertQuery, conn)) { cmd.Parameters.AddWithValue("@subjectId", comboBox1.SelectedValue); cmd.Parameters.AddWithValue("@groupId", comboBox2.SelectedValue); cmd.Parameters.AddWithValue("@teacherId", comboBox3.SelectedValue); cmd.Parameters.AddWithValue("@managerId", comboBox4.SelectedValue); cmd.Parameters.AddWithValue("@date", dateTimePicker1.Value.Date); cmd.ExecuteNonQuery(); } MessageBox.Show("Запись успешно добавлена!"); this.DialogResult = DialogResult.OK; this.Close(); } catch (Exception ex) { MessageBox.Show("Ошибка при добавлении записи: " + ex.Message); } } } }