示例#1
0
        public AddStaff()
        {
            InitializeComponent();
            //Подключение к базе данных
            MySqlConnection connection = new MySqlConnection("server = localhost; port = 3306; username = root; password = root; database = project");
            DataBase        dataBase   = new DataBase();
            //Класс представляет таблицу в памяти
            DataTable linkcat  = new DataTable("linkcat");
            DataTable linkcat1 = new DataTable("linkcat1");
            DataTable linkcat2 = new DataTable("linkcat2");

            dataBase.openConnetion();

            //Запрос на извлечение семейного положения из базы данных
            using (MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM marital_sratus", connection))
            {
                da.Fill(linkcat);
            }
            foreach (DataRow da in linkcat.Rows)
            {
                _famaliStatis.Add(da[1].ToString(), da[0].ToString());
                id_marital_status.Items.Add(da[1].ToString());
            }

            //Запрос на извлечение списка должностей из базы данных
            using (MySqlDataAdapter da1 = new MySqlDataAdapter("SELECT * FROM position", connection))
            {
                da1.Fill(linkcat1);
            }
            foreach (DataRow da1 in linkcat1.Rows)
            {
                _positionName.Add(da1[1].ToString(), da1[0].ToString());
                id_position.Items.Add(da1[1].ToString());
            }

            //Запрос на извлечение списка ученых степеней
            using (MySqlDataAdapter da2 = new MySqlDataAdapter("SELECT * FROM academic_degree", connection))
            {
                da2.Fill(linkcat2);
            }
            foreach (DataRow da2 in linkcat2.Rows)
            {
                _degreeName.Add(da2[1].ToString(), da2[0].ToString());
                id_academic_degree.Items.Add(da2[1].ToString());
            }
            dataBase.closeConnetion();
        }
示例#2
0
        public EditingData(int id)
        {
            this.id = id;
            InitializeComponent();

            //Класс представляет таблицу в памяти
            DataBase  dataBase = new DataBase();
            DataTable linkcat  = new DataTable("linkcat");
            DataTable linkcat1 = new DataTable("linkcat1");
            DataTable linkcat2 = new DataTable("linkcat2");

            dataBase.openConnetion();

            //Запрос на извлечение семейного положения из базы данных
            using (MySqlDataAdapter da = new MySqlDataAdapter("SELECT * FROM marital_sratus", connection))
            {
                da.Fill(linkcat);
            }
            foreach (DataRow da in linkcat.Rows)
            {
                _famaliStatis.Add(da[1].ToString(), da[0].ToString());
                status.Items.Add(da[1].ToString());
            }

            //Запрос на извлечение списка должностей из базы данных
            using (MySqlDataAdapter da1 = new MySqlDataAdapter("SELECT * FROM position", connection))
            {
                da1.Fill(linkcat1);
            }
            foreach (DataRow da1 in linkcat1.Rows)
            {
                _positionName.Add(da1[1].ToString(), da1[0].ToString());
                position.Items.Add(da1[1].ToString());
            }

            //Запрос на извлечение списка ученых степеней
            using (MySqlDataAdapter da2 = new MySqlDataAdapter("SELECT * FROM academic_degree", connection))
            {
                da2.Fill(linkcat2);
            }
            foreach (DataRow da2 in linkcat2.Rows)
            {
                _degreeName.Add(da2[1].ToString(), da2[0].ToString());
                academic_degree.Items.Add(da2[1].ToString());
            }
            dataBase.closeConnetion();
        }
示例#3
0
        private void LoadData()
        {
            DataBase dataBase = new DataBase();

            dataBase.openConnetion();

            string           query = "SELECT family AS 'Фамилия', name AS 'Имя', surname AS 'Отчество', p.name_position AS 'Должность', ad.small_name AS 'Ученая степень' FROM employees join position p ON employees.id_position = p.id_position JOIN academic_degree ad ON employees.id_academic_degree = ad.id_academic_degree;";
            MySqlDataAdapter adpt  = new MySqlDataAdapter(query, connection);

            DataSet dset = new DataSet();

            adpt.Fill(dset);

            dataGridView1.ColumnCount     = 5;
            dataGridView1.Columns[0].Name = "Фамилия";
            dataGridView1.Columns[1].Name = "Имя";
            dataGridView1.Columns[2].Name = "Отчество";
            dataGridView1.Columns[3].Name = "Должность";
            dataGridView1.Columns[4].Name = "Ученая степень";
            foreach (DataRow item in dset.Tables[0].Rows)
            {
                string[] buf = { item["Фамилия"].ToString(), item["Имя"].ToString(), item["Отчество"].ToString(), item["Должность"].ToString(), item["Ученая степень"].ToString() };
                dataGridView1.Rows.Add(buf);
            }

            string           query1  = "SELECT name_position, id_position FROM position ORDER BY id_position";
            MySqlDataAdapter adapter = new MySqlDataAdapter(query1, connection);
            DataSet          data    = new DataSet();

            adapter.Fill(data);
            foreach (DataRow item in data.Tables[0].Rows)
            {
                this.position.Add(item["name_position"].ToString(), int.Parse(item["id_position"].ToString()));
            }

            string           query2   = "SELECT small_name, id_academic_degree FROM academic_degree ORDER BY id_academic_degree";
            MySqlDataAdapter adapter2 = new MySqlDataAdapter(query2, connection);
            DataSet          data2    = new DataSet();

            adapter2.Fill(data2);
            foreach (DataRow item in data2.Tables[0].Rows)
            {
                this.academic_degree.Add(item["small_name"].ToString(), int.Parse(item["id_academic_degree"].ToString()));
            }
            dataBase.closeConnetion();
        }
示例#4
0
        private void button1_Click(object sender, EventArgs e)
        {
            //Удаление сотрудника из базы данных
            DataBase dataBase = new DataBase();

            dataBase.openConnetion();
            string       query3   = String.Format("DELETE FROM employees WHERE id={0} limit 1", id);
            MySqlCommand command2 = new MySqlCommand(query3, dataBase.getConnection());

            if (command2.ExecuteNonQuery() == 1)
            {
                MessageBox.Show("Данные удалены");
            }

            dataBase.closeConnetion();

            //После удаления переход на форму списка сотрудников
            this.Hide();
            LaboratoryStaff labStaff = new LaboratoryStaff();

            labStaff.Show();
        }
示例#5
0
        private void buttonSave_Click(object sender, EventArgs e)
        {
            //При нажатии на кнопку сохранение, происходит проверка на заполненность полей и на корректность
            if (family.Text == "")
            {
                MessageBox.Show("Введите фамилию");
                return;
            }
            if (!Regex.Match(family.Text, @"[А-яёЁ]").Success)
            {
                MessageBox.Show("Допускаются только русские буквы");
                return;
            }
            if (name.Text == "")
            {
                MessageBox.Show("Введите имя");
                return;
            }
            if (!Regex.Match(name.Text, @"[А-яёЁ]").Success)
            {
                MessageBox.Show("Допускаются только русские буквы");
                return;
            }
            if (!Regex.Match(surname.Text, @"[А-яёЁ]").Success)
            {
                MessageBox.Show("Допускаются только русские буквы");
                return;
            }
            if (gender.Text == "")
            {
                MessageBox.Show("Выберите пол");
                return;
            }
            if (dateTimePicker1.Text == "")
            {
                MessageBox.Show("Укажите дату рождения");
                return;
            }
            if (status.Text == "")
            {
                MessageBox.Show("Укажите семейное положение");
                return;
            }
            if (having_child.Text == "")
            {
                MessageBox.Show("Укажите наличие детей");
                return;
            }
            if (position.Text == "")
            {
                MessageBox.Show("Укажите должность сотрудника");
                return;
            }
            if (academic_degree.Text == "")
            {
                MessageBox.Show("Укажите учёную степень сотрудника");
                return;
            }

            DataBase dataBase = new DataBase();

            //Запрос на обновление данных в базе по id
            string       queryUp   = String.Format("UPDATE `employees` SET `family` = @family,`name` = @name, `surname` = @surname, `gender` = @gender, `birthday` = @birthday, `id_marital_status` = @id_marital_status, `having_child` = @having_child, `id_position` = @id_position, `id_academic_degree`= @id_academic_degree WHERE id={0} limit 1", id);
            MySqlCommand commandUp = new MySqlCommand(queryUp, dataBase.getConnection());

            //Добавление данных с формы
            commandUp.Parameters.Add("@family", MySqlDbType.VarChar).Value           = family.Text;
            commandUp.Parameters.Add("@name", MySqlDbType.VarChar).Value             = name.Text;
            commandUp.Parameters.Add("@surname", MySqlDbType.VarChar).Value          = surname.Text;
            commandUp.Parameters.Add("@birthday", MySqlDbType.Date).Value            = dateTimePicker1.Value.Date;
            commandUp.Parameters.Add("@id_marital_status", MySqlDbType.Int32).Value  = _famaliStatis[status.SelectedItem.ToString()];
            commandUp.Parameters.Add("@id_position", MySqlDbType.Int32).Value        = _positionName[position.SelectedItem.ToString()];
            commandUp.Parameters.Add("@id_academic_degree", MySqlDbType.Int32).Value = _degreeName[academic_degree.SelectedItem.ToString()];

            //Обработка вводимых данных
            if (gender.GetItemText(gender.SelectedItem) == "Мужской(M)")
            {
                commandUp.Parameters.Add("@gender", MySqlDbType.Text).Value = "M";
            }

            if (gender.GetItemText(gender.SelectedItem) == "Женский(F)")
            {
                commandUp.Parameters.Add("@gender", MySqlDbType.VarChar).Value = "F";
            }

            if (having_child.GetItemText(having_child.SelectedItem) == "Есть")
            {
                commandUp.Parameters.Add("@having_child", MySqlDbType.Byte).Value = "1";
            }
            if (having_child.GetItemText(having_child.SelectedItem) == "Нет")
            {
                commandUp.Parameters.Add("@having_child", MySqlDbType.Byte).Value = "0";
            }

            dataBase.openConnetion();

            if (commandUp.ExecuteNonQuery() == 1)
            {
                MessageBox.Show("Данные успешно изменены");
            }
            else
            {
                MessageBox.Show("Данные не изменены");
            }

            dataBase.closeConnetion();
        }
示例#6
0
        private void LoadData()
        {
            DataBase dataBase = new DataBase();

            //Подключаемся к базе данных
            dataBase.openConnetion();

            //Запрос в базу данных на вывод сотрудников
            string query = "SELECT id, family AS 'Фамилия'," +
                           " name AS 'Имя', surname AS 'Отчество', " +
                           "p.name_position AS 'Должность', ad.small_name AS 'Ученая степень' " +
                           "FROM employees join position p ON employees.id_position = p.id_position " +
                           "JOIN academic_degree ad ON employees.id_academic_degree = ad.id_academic_degree;";

            //Представляет набор команд данных и подключение к базе данных, которые используются для заполнения DataSet и обновления базы данных
            MySqlDataAdapter adpt = new MySqlDataAdapter(query, connection);

            DataSet dset = new DataSet();

            adpt.Fill(dset);

            //Создание столбцов
            dataGridView1.ColumnCount      = 6;
            dataGridView1.Columns[0].Name  = "id";
            dataGridView1.Columns[1].Name  = "Фамилия";
            dataGridView1.Columns[1].Width = 180;
            dataGridView1.Columns[2].Name  = "Имя";
            dataGridView1.Columns[2].Width = 180;
            dataGridView1.Columns[3].Name  = "Отчество";
            dataGridView1.Columns[3].Width = 180;
            dataGridView1.Columns[4].Name  = "Должность";
            dataGridView1.Columns[4].Width = 430;
            dataGridView1.Columns[5].Name  = "Ученая степень";
            dataGridView1.Columns[5].Width = 150;
            //Заполнение столбцов
            foreach (DataRow item in dset.Tables[0].Rows)
            {
                string[] buf = { item ["id"].ToString(), item["Фамилия"].ToString(), item["Имя"].ToString(), item["Отчество"].ToString(), item["Должность"].ToString(), item["Ученая степень"].ToString() };
                dataGridView1.Rows.Add(buf);
            }

            //Создание запроса на сортировку по столбцу "Должность"
            string           query1  = "SELECT name_position, id_position FROM position ORDER BY id_position";
            MySqlDataAdapter adapter = new MySqlDataAdapter(query1, connection);
            DataSet          data    = new DataSet();

            adapter.Fill(data);
            foreach (DataRow item in data.Tables[0].Rows)
            {
                this.position.Add(item["name_position"].ToString(), int.Parse(item["id_position"].ToString()));
            }

            //Создание запроса на сортировку по столбцу "Ученая степень"
            string           query2   = "SELECT small_name, id_academic_degree FROM academic_degree ORDER BY id_academic_degree";
            MySqlDataAdapter adapter2 = new MySqlDataAdapter(query2, connection);
            DataSet          data2    = new DataSet();

            adapter2.Fill(data2);
            foreach (DataRow item in data2.Tables[0].Rows)
            {
                this.academic_degree.Add(item["small_name"].ToString(), int.Parse(item["id_academic_degree"].ToString()));
            }
            dataBase.closeConnetion();
        }
示例#7
0
        private void buttonSave_Click(object sender, EventArgs e)
        {
            //При нажатии на кнопку сохранение, происходит проверка на заполненность полей и на корректность
            if (family.Text == "")
            {
                MessageBox.Show("Введите фамилию");
                return;
            }
            if (!Regex.Match(family.Text, @"[А-яёЁ]").Success)
            {
                MessageBox.Show("Допускаются только русские буквы");
                return;
            }
            if (name.Text == "")
            {
                MessageBox.Show("Введите имя");
                return;
            }
            if (!Regex.Match(name.Text, @"[А-яёЁ]").Success)
            {
                MessageBox.Show("Допускаются только русские буквы");
                return;
            }
            if (!Regex.Match(surname.Text, @"[А-яёЁ]").Success)
            {
                MessageBox.Show("Допускаются только русские буквы");
                return;
            }
            if (gender.Text == "")
            {
                MessageBox.Show("Выберите пол");
                return;
            }
            if (dateTimePicker1.Text == "")
            {
                MessageBox.Show("Укажите дату рождения");
                return;
            }
            if (id_marital_status.Text == "")
            {
                MessageBox.Show("Укажите семейное положение");
                return;
            }
            if (having_child.Text == "")
            {
                MessageBox.Show("Укажите наличие детей");
                return;
            }
            if (id_position.Text == "")
            {
                MessageBox.Show("Укажите должность сотрудника");
                return;
            }
            if (id_academic_degree.Text == "")
            {
                MessageBox.Show("Укажите учёную степень сотрудника");
                return;
            }

            DataBase dataBase = new DataBase();

            //Запрос в базу данных о добавлении новго сотрудника
            MySqlCommand command = new MySqlCommand("INSERT INTO `employees` (`family`, `name`, `surname`, `gender`, `birthday`, `id_marital_status`, `having_child`, `id_position`, `id_academic_degree`) " +
                                                    "VALUES (@family, @name, @surname, @gender, @birthday, @id_marital_status, @having_child, @id_position, @id_academic_degree)", dataBase.getConnection());

            //Добавление данных с формы
            command.Parameters.Add("@family", MySqlDbType.VarChar).Value           = family.Text;
            command.Parameters.Add("@name", MySqlDbType.VarChar).Value             = name.Text;
            command.Parameters.Add("@surname", MySqlDbType.VarChar).Value          = surname.Text;
            command.Parameters.Add("@birthday", MySqlDbType.Date).Value            = dateTimePicker1.Value.Date;
            command.Parameters.Add("@id_marital_status", MySqlDbType.Int32).Value  = _famaliStatis[id_marital_status.SelectedItem.ToString()];
            command.Parameters.Add("@id_position", MySqlDbType.Int32).Value        = _positionName[id_position.SelectedItem.ToString()];
            command.Parameters.Add("@id_academic_degree", MySqlDbType.Int32).Value = _degreeName[id_academic_degree.SelectedItem.ToString()];

            //Обработка вводимых данных
            if (gender.GetItemText(gender.SelectedItem) == "Мужской(M)")
            {
                command.Parameters.Add("@gender", MySqlDbType.Text).Value = "M";
            }

            if (gender.GetItemText(gender.SelectedItem) == "Женский(F)")
            {
                command.Parameters.Add("@gender", MySqlDbType.VarChar).Value = "F";
            }

            if (having_child.GetItemText(having_child.SelectedItem) == "Есть")
            {
                command.Parameters.Add("@having_child", MySqlDbType.Byte).Value = "1";
            }
            if (having_child.GetItemText(having_child.SelectedItem) == "Нет")
            {
                command.Parameters.Add("@having_child", MySqlDbType.Byte).Value = "0";
            }

            dataBase.openConnetion();

            if (command.ExecuteNonQuery() == 1)
            {
                MessageBox.Show("Сотрудник успешно добавлен");
            }
            else
            {
                MessageBox.Show("Сотрудник не добавлен");
            }

            dataBase.closeConnetion();

            //Очистка полей после добавления
            family.Clear();
            name.Clear();
            surname.Clear();
            gender.SelectedItem             = null;
            dateTimePicker1.Text            = null;
            id_marital_status.SelectedItem  = null;
            having_child.SelectedItem       = null;
            id_position.SelectedItem        = null;
            id_academic_degree.SelectedItem = null;
        }