//видалення обраної збереженої довідки
        private void btnDelete_Click(object sender, EventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Ви точно хочете видалити запис?", "Підтвердження видалення", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dialogResult == DialogResult.Yes)
            {
                //запит в базу даних
                command = new SQLiteCommand("DELETE FROM SavedData WHERE idSave = @id", Program.conn);
                //індекс обраної строки
                int rowNum = dataGridView1.SelectedCells[0].RowIndex;
                command.Parameters.Add(new SQLiteParameter("@id", dataGridView1.Rows[rowNum].Cells[0].Value));
                SQLiteViewInTable.DeleteDataInBD(command);
                //повідомлення про успішність операції
                MessageBox.Show("Довідка видалена!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);

                //відвязка текстових полів до стовпців таблиці
                tbSurname.DataBindings.RemoveAt(0);
                tbName.DataBindings.RemoveAt(0);
                tbPatronimyc.DataBindings.RemoveAt(0);
                tbSpeciality.DataBindings.RemoveAt(0);
                tbSpecialization.DataBindings.RemoveAt(0);
                tbDateRecord.DataBindings.RemoveAt(0);
                //очищення полів
                tbSurname.Clear();
                tbName.Clear();
                tbPatronimyc.Clear();
                tbSpeciality.Clear();
                tbSpecialization.Clear();
                tbDateRecord.Clear();
                //оновлення даних у таблиці
                this.FrmOpenReference_Load(sender, e);
            }
        }
        //збереження даних
        private void btnSaveExit_Click(object sender, EventArgs e)
        {
            command = new SQLiteCommand(@"INSERT INTO SavedData VALUES (NULL, @SurnameUA, @NameUA, @PetrNameUA,
                                        @SurnameEN, @NameEN, @PetrNameEN, @BirthDay, @PlaceBirthUA, @PlaceBirthEN,
                                        @IndexDepartament, @NumSpeciality, @IndexCourse, @StartTeach, @FinishTeach,
                                        @EDBONumber, @IndexDeduct, @NumberOrder, @DateRecord, @Log)", Program.conn);
            command.Parameters.Add(new SQLiteParameter("@SurnameUA", SecNameUAText.Text));
            command.Parameters.Add(new SQLiteParameter("@NameUA", FistNameUAText.Text));
            command.Parameters.Add(new SQLiteParameter("@PetrNameUA", PetrNameUAText.Text));
            command.Parameters.Add(new SQLiteParameter("@SurnameEN", SecNameENText.Text));
            command.Parameters.Add(new SQLiteParameter("@NameEN", FistNameENText.Text));
            command.Parameters.Add(new SQLiteParameter("@PetrNameEN", PetrNameENText.Text));
            command.Parameters.Add(new SQLiteParameter("@BirthDay", dateTimePicker3.Value));
            command.Parameters.Add(new SQLiteParameter("@PlaceBirthUA", placeBirthUAText.Text));
            command.Parameters.Add(new SQLiteParameter("@PlaceBirthEN", placeBirthENText.Text));
            command.Parameters.Add(new SQLiteParameter("@IndexDepartament", FacultyText.SelectedIndex));
            command.Parameters.Add(new SQLiteParameter("@NumSpeciality", idSpecText.Text));
            command.Parameters.Add(new SQLiteParameter("@IndexCourse", courseNum.SelectedIndex));
            command.Parameters.Add(new SQLiteParameter("@StartTeach", dateTimePicker1.Value));
            command.Parameters.Add(new SQLiteParameter("@FinishTeach", dateTimePicker2.Value));
            command.Parameters.Add(new SQLiteParameter("@EDBONumber", numEdboText.Text));
            command.Parameters.Add(new SQLiteParameter("@IndexDeduct", comboBoxExpelled.SelectedIndex));
            command.Parameters.Add(new SQLiteParameter("@NumberOrder", tbOrderNumber.Text));
            command.Parameters.Add(new SQLiteParameter("@DateRecord", DateTime.Now));
            command.Parameters.Add(new SQLiteParameter("@Log", account.login));

            SQLiteViewInTable.AddDataInBD(command);
            MessageBox.Show("Дані збережено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            this.Close();
        }
        private void FrmSettingDepart_Load(object sender, EventArgs e)
        {
            //формування запиту
            command = new SQLiteCommand("SELECT * FROM Department", Program.conn);

            //для виводу в таблицю
            SQLiteViewInTable.OutInTable(command, ref adapterAll, ref dataTableAll,
                                         ref bindingSource, ref dataGridView1, ref bindingNavigator1);

            //якщо таблиця пуста то блокуємо деякі кнопки
            if (dataGridView1.Rows.Count == 0)
            {
                btnChange.Enabled = false;
                btnDelete.Enabled = false;
            }
            else
            {
                btnChange.Enabled = true;
                btnDelete.Enabled = true;
            }

            //підписи стовпців
            dataGridView1.Columns[0].HeaderText = "Код коледжу";
            dataGridView1.Columns[1].HeaderText = "Код відділення";
            dataGridView1.Columns[2].HeaderText = "Назва українська";
            dataGridView1.Columns[3].HeaderText = "Назва англійська";
            dataGridView1.Columns[4].HeaderText = "Номер телефону";
            dataGridView1.Columns[5].HeaderText = "ПІБ завідувача";

            //скриття непотрібних для відображення стовпців
            dataGridView1.Columns[0].Visible = false;
            dataGridView1.Columns[1].Visible = false;

            //підв'язування полів до даних з БД
            textBox1.DataBindings.Add("Text", bindingSource, "NameUA");
            textBox2.DataBindings.Add("Text", bindingSource, "NameEN");
            textBox3.DataBindings.Add("Text", bindingSource, "ReceptNumb");
            textBox4.DataBindings.Add("Text", bindingSource, "Fio");

            //активація потрібних кнопок
            textBox1.ReadOnly = true;
            textBox2.ReadOnly = true;
            textBox3.ReadOnly = true;
            textBox4.ReadOnly = true;
            btnSave.Enabled   = false;

            //вставновлення підсказки на заголовках стовпців
            for (int i = 0; i < dataGridView1.Columns.Count; i++)
            {
                dataGridView1.Columns[i].HeaderCell.ToolTipText = "Натисніть для сортування по стовпцю";
            }

            //подія виклику інструкції
            this.HelpButtonClicked += HelpButton_Click;
        }
        //подія збереження даних
        private void btnSave_Click(object sender, EventArgs e)
        {
            //перевірка, що всі поля заповнені
            if (CheckField() != false)
            {
                if (btnAddEnabled) //якщо обране додавання нового рядка
                {
                    //команда додавання в таблицю бази даних
                    command = new SQLiteCommand("INSERT INTO Department VALUES (@Id, NULL, @NameUA, @NameEN, @ReceptNum, @Fio)", Program.conn);
                    //додавання параметрів
                    command.Parameters.Add(new SQLiteParameter("@Id", 1));
                    command.Parameters.Add(new SQLiteParameter("@NameUA", textBox1.Text));
                    command.Parameters.Add(new SQLiteParameter("@NameEN", textBox2.Text));
                    command.Parameters.Add(new SQLiteParameter("@ReceptNum", textBox3.Text));
                    command.Parameters.Add(new SQLiteParameter("@Fio", textBox4.Text));
                    //виконання запиту
                    SQLiteViewInTable.AddDataInBD(command);
                    //оновлення виводу таблиці
                    FrmSettingDepart_Load(sender, e);
                    //активація та деактивація кнопок
                    btnAddEnabled  = false;
                    btnAdd.Enabled = true;
                    //повідомлення про успішну операцію
                    MessageBox.Show("Дані збережено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else if (btnUpdate) //якщо обране редагування поточного рядка
                {
                    //додавання в таблицю бази даних
                    command = new SQLiteCommand("UPDATE Department SET NameUA = @NameUA, NameEN = @NameEN, ReceptNumb = @ReceptNumb, Fio = @Fio WHERE idDepartment = @id", Program.conn);
                    //додавання параметрів
                    command.Parameters.Add(new SQLiteParameter("@Id", dataGridView1.Rows[dataGridView1.SelectedCells[0].RowIndex].Cells[1].Value));
                    command.Parameters.Add(new SQLiteParameter("@NameUA", textBox1.Text));
                    command.Parameters.Add(new SQLiteParameter("@NameEN", textBox2.Text));
                    command.Parameters.Add(new SQLiteParameter("@ReceptNumb", textBox3.Text));
                    command.Parameters.Add(new SQLiteParameter("@Fio", textBox4.Text));
                    //виконання запиту
                    SQLiteViewInTable.UpdateDateInBD(command);
                    //оновлення виводу таблиці
                    FrmSettingDepart_Load(sender, e);
                    //активація та деактивація кнопок
                    btnUpdate         = false;
                    btnChange.Enabled = true;
                    //повідомлення про успішну операцію
                    MessageBox.Show("Дані збережено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                TextBoxDeActive();//декативація полів вводу
                //активація та деактивація кнопок
                btnSave.Enabled   = false;
                btnCancel.Enabled = false;
                btnAdd.Enabled    = true;
                btnDelete.Enabled = true;
                btnChange.Enabled = true;
            }
        }
Пример #5
0
        //подія змніи відділення
        private void cmbxDepart_SelectedIndexChanged(object sender, EventArgs e)
        {
            //якщо поля прив'язані до бази даних -- відвязуємо
            if (textBox1.DataBindings.Count == 1)
            {
                FieldUntie(); //відв'язування полів
            }
            //формування запиту
            command = new SQLiteCommand("SELECT * FROM Specialty WHERE idDepartament = (SELECT idDepartment FROM Department WHERE NameUA = @name)", Program.conn);
            command.Parameters.Add(new SQLiteParameter("@name", cmbxDepart.Text)); //додвання парметрів

            //вивід даних в таблицю
            SQLiteViewInTable.OutInTable(command, ref adapterAll, ref dataTableAll, ref bindingSource,
                                         ref commandBuilder, ref dataGridView1, ref bindingNavigator1);

            //якщо таблиця пуста то блокуємо деякі кнопки
            if (dataGridView1.Rows.Count == 0)
            {
                btnChange.Enabled = false;
                btnDelete.Enabled = false;
            }
            else //або активуємо
            {
                btnChange.Enabled = true;
                btnDelete.Enabled = true;
            }
            //зкриття деяких стовпців
            dataGridView1.Columns[2].Visible = false;
            dataGridView1.Columns[0].Visible = false;
            //підписи стовпців в таблиці
            dataGridView1.Columns[1].HeaderText = "Код спеціальності";
            dataGridView1.Columns[3].HeaderText = "Спеціальність українською";
            dataGridView1.Columns[4].HeaderText = "Спеціальність англійською";

            //підвязуємо до бази даних за необхідності
            if (textBox1.DataBindings.Count == 0)
            {
                //очищення полів
                textBox1.Clear();
                textBox2.Clear();
                textBox3.Clear();
                //підв'язка до джерела даних
                textBox1.DataBindings.Add("Text", bindingSource, "idSpecialty");
                textBox2.DataBindings.Add("Text", bindingSource, "NameUA");
                textBox3.DataBindings.Add("Text", bindingSource, "NameEN");
            }

            //вставновлення підсказки на заголовках стовпців
            for (int i = 0; i < dataGridView1.Columns.Count; i++)
            {
                dataGridView1.Columns[i].HeaderCell.ToolTipText = "Натисніть для сортування по стовпцю";
            }
        }
        //відображення даних у таблиці
        private void ViewData()
        {
            //формування запиту
            command1 = new SQLiteCommand("SELECT * FROM specialization WHERE id_specialty = (SELECT idSpecialty FROM Specialty WHERE NameUA = @name)", Program.conn);
            command1.Parameters.Add(new SQLiteParameter("@name", cbSpec.Text));
            //для виводу в таблицю
            SQLiteViewInTable.OutInTable(command1, ref adapterAll, ref dataTableAll, ref bindingSource,
                                         ref commandBuilder, ref dataGridView1, ref bindingNavigator1);
            //якщо таблиця пуста то блокуємо деякі кнопки
            if (dataGridView1.Rows.Count == 0)
            {  //деактивація кнопок редагування та видалення
                btnChange.Enabled = false;
                btnDelete.Enabled = false;
            }
            else
            {  //активація кнопок редагування та видалення
                btnChange.Enabled = true;
                btnDelete.Enabled = true;
            }

            //підпис колонок
            dataGridView1.Columns[1].HeaderText = "Код спеціалізації";
            dataGridView1.Columns[2].HeaderText = "Назва спеціалізації українською";
            dataGridView1.Columns[3].HeaderText = "Назва спеціалізації англійською";

            //зкриття непотрібних стовпців
            dataGridView1.Columns[0].Visible = false;
            dataGridView1.Columns[4].Visible = false;

            //очищення біндінга і підвязка полів до джерела даних
            tbKey.DataBindings.Clear();
            tbKey.Clear();
            tbKey.DataBindings.Add("Text", bindingSource, "id_specialization");
            tbNameEN.DataBindings.Clear();
            tbNameEN.Clear();
            tbNameEN.DataBindings.Add("Text", bindingSource, "name_en_spec");
            tbNameUA.DataBindings.Clear();
            tbNameUA.Clear();
            tbNameUA.DataBindings.Add("Text", bindingSource, "name_ua_spec");

            //вставновлення підсказки на заголовках стовпців
            for (int i = 0; i < dataGridView1.Columns.Count; i++)
            {
                dataGridView1.Columns[i].HeaderCell.ToolTipText = "Натисніть для сортування по стовпцю";
            }

            btnAdd.Enabled = true; //активація кнопки додавання
        }
        //збереження даних
        private void btnSaveExit_Click(object sender, EventArgs e)
        {
            //створення запиту
            SQLiteCommand command2 = new SQLiteCommand("SELECT id_specialization FROM specialization WHERE name_ua_spec = @name", Program.conn);

            //додавання параметрів
            command2.Parameters.Add(new SQLiteParameter("@name", cbSpecialization.Text));
            SQLiteDataReader dataReader2 = command2.ExecuteReader(); // виконання запиту

            string id_specialization = string.Empty;                 //код спеціалізації

            while (dataReader2.Read())
            {
                id_specialization = dataReader2[0].ToString();
            }
            //створення запиту на збереження даних
            command = new SQLiteCommand(@"INSERT INTO SavedData VALUES (NULL, @SurnameUA, @NameUA, @PetrNameUA,
                                        @SurnameEN, @NameEN, @PetrNameEN, @BirthDay, @PlaceBirthUA, @PlaceBirthEN,
                                        @IndexDepartament, @NumSpeciality, @Specialization, @IndexCourse, @StartTeach, @FinishTeach,
                                        @IndexDeduct, @NumberOrder, @DateRecord, @Log)", Program.conn);
            //додавання параметрів
            command.Parameters.Add(new SQLiteParameter("@SurnameUA", SecNameUAText.Text));
            command.Parameters.Add(new SQLiteParameter("@NameUA", FistNameUAText.Text));
            command.Parameters.Add(new SQLiteParameter("@PetrNameUA", PetrNameUAText.Text));
            command.Parameters.Add(new SQLiteParameter("@SurnameEN", SecNameENText.Text));
            command.Parameters.Add(new SQLiteParameter("@NameEN", FistNameENText.Text));
            command.Parameters.Add(new SQLiteParameter("@PetrNameEN", PetrNameENText.Text));
            command.Parameters.Add(new SQLiteParameter("@BirthDay", dateTimePicker3.Value));
            command.Parameters.Add(new SQLiteParameter("@PlaceBirthUA", placeBirthUAText.Text));
            command.Parameters.Add(new SQLiteParameter("@PlaceBirthEN", placeBirthENText.Text));
            command.Parameters.Add(new SQLiteParameter("@IndexDepartament", FacultyText.SelectedIndex));
            command.Parameters.Add(new SQLiteParameter("@NumSpeciality", idSpecText.Text));
            command.Parameters.Add(new SQLiteParameter("@Specialization", id_specialization));
            command.Parameters.Add(new SQLiteParameter("@IndexCourse", courseNum.SelectedIndex));
            command.Parameters.Add(new SQLiteParameter("@StartTeach", dateTimePicker1.Value));
            command.Parameters.Add(new SQLiteParameter("@FinishTeach", dateTimePicker2.Value));
            command.Parameters.Add(new SQLiteParameter("@IndexDeduct", comboBoxExpelled.SelectedIndex));
            command.Parameters.Add(new SQLiteParameter("@NumberOrder", tbOrderNumber.Text));
            command.Parameters.Add(new SQLiteParameter("@DateRecord", DateTime.Now));
            command.Parameters.Add(new SQLiteParameter("@Log", account.login));
            //виконання запиту
            SQLiteViewInTable.AddDataInBD(command);
            //повідомлення про виконання запиту
            MessageBox.Show("Дані збережено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            dataReader2.Close(); //закриття об'єкту БД
            this.Close();        //закриття вікна
        }
Пример #8
0
        //подія видалення рядка
        private void btnDelete_Click(object sender, EventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Ви точно хочете видалити запис?", "Підтвердження видалення", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dialogResult == DialogResult.Yes)
            {
                //якщо видаляється адміністратор
                if (dataGridView1[4, dataGridView1.SelectedCells[0].RowIndex].Value.ToString() == "+")
                {
                    int countAdmin = 0; //лічільник адміністраторів
                                        //рахуємо адміністраторів
                    for (int i = 0; i < dataGridView1.Rows.Count; i++)
                    {
                        //якщо знайшли
                        if (dataGridView1[4, i].Value.ToString() == "+")
                        {
                            countAdmin++;//збільшуємо лічільник
                        }
                    }

                    if (countAdmin < 2) //якщо адміністраторів мешне, ніж 2
                    {
                        //повідомлення про заборону видалення
                        MessageBox.Show("Неможливо видалити лишившегося одного адміністратора!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        return;
                    }
                }

                //відв'язка всіх полів від джерела даних
                textBox1.DataBindings.RemoveAt(0);
                textBox2.DataBindings.RemoveAt(0);
                textBox3.DataBindings.RemoveAt(0);

                //видалення з таблиці
                int index = dataGridView1.SelectedCells[0].RowIndex;
                //видалення з таблиці бази даних
                command = new SQLiteCommand("DELETE FROM User WHERE idUser = @id", Program.conn);
                command.Parameters.Add(new SQLiteParameter("@id", dataGridView1.Rows[index].Cells[0].Value.ToString()));
                //виконання запиту
                SQLiteViewInTable.DeleteDataInBD(command);
                //оновлення виводу таблиці
                FrmSettingUser_Load(sender, e);

                MessageBox.Show("Дані видалено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Пример #9
0
        //подія видалення рядка
        private void btnDelete_Click(object sender, EventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Ви точно хочете видалити запис?", "Підтвердження видалення", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dialogResult == DialogResult.Yes)
            {
                //видалення з таблиці
                int index = dataGridView1.SelectedCells[0].RowIndex;
                //видалення з таблиці бази даних
                command = new SQLiteCommand("DELETE FROM Specialty WHERE id_row = @id", Program.conn);
                command.Parameters.Add(new SQLiteParameter("@id", dataGridView1.Rows[index].Cells[0].Value.ToString()));
                //виконання запиту
                SQLiteViewInTable.DeleteDataInBD(command);
                //оновлення виводу таблиці
                cmbxDepart_SelectedIndexChanged(sender, e);
                //повідомлення про видалення
                MessageBox.Show("Дані видалено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
        private void btnDelete_Click(object sender, EventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Ви точно хочете видалити запис?", "Підтвердження видалення", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dialogResult == DialogResult.Yes)
            {
                FieldUntie();
                //код предмету в бд
                int id = Convert.ToInt32(dataGridView1.Rows[dataGridView1.SelectedCells[0].RowIndex].Cells[0].Value);
                //видалення з таблиці бази даних
                command = new SQLiteCommand("DELETE FROM Subject WHERE idSubject = @id", Program.conn);
                command.Parameters.Add(new SQLiteParameter("@id", id));
                //виконання запиту
                SQLiteViewInTable.DeleteDataInBD(command);

                MessageBox.Show("Дані видалено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                //оновлення виводу таблиці
                View(comboBox3, activeRbtn, Convert.ToInt32(numericSemester.Value));
            }
        }
Пример #11
0
        //вивід даних у таблицю
        private void FrmSettingUser_Load(object sender, EventArgs e)
        {
            //отримання всіх користувачів
            command = new SQLiteCommand("SELECT * FROM User", Program.conn);
            //виконання команди
            SQLiteViewInTable.OutInTable(command, ref adapterAll, ref dataTableAll,
                                         ref bindingSource, ref dataGridView1, ref bindingNavigator1);

            //якщо таблиця пуста то блокуємо деякі кнопки
            if (dataGridView1.Rows.Count == 0)
            {   //деактивація кнопок оновлення та видалення
                btnChange.Enabled = false;
                btnDelete.Enabled = false;
            }
            else
            {   //деактивація кнопок оновлення та видалення
                btnChange.Enabled = true;
                btnDelete.Enabled = true;
            }
            //зкриття перного стовпця
            dataGridView1.Columns[0].Visible = false;
            //підписи стовпців
            dataGridView1.Columns[1].HeaderText = "ПІБ";
            dataGridView1.Columns[2].HeaderText = "Логін";
            dataGridView1.Columns[3].HeaderText = "Пароль";
            dataGridView1.Columns[4].HeaderText = "Права адміністратора";

            //підв'язування полів до даних з БД
            textBox1.DataBindings.Add("Text", bindingSource, "fio");
            textBox2.DataBindings.Add("Text", bindingSource, "login");
            textBox3.DataBindings.Add("Text", bindingSource, "password");

            //перевірка прав адміністратора
            CheckAdminRight();

            //вставновлення підсказки на заголовках стовпців
            for (int i = 0; i < dataGridView1.Columns.Count; i++)
            {
                dataGridView1.Columns[i].HeaderCell.ToolTipText = "Натисніть для сортування по стовпцю";
            }
        }
        //видалення обраного рядка
        private void btnDelete_Click(object sender, EventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Ви точно хочете видалити запис?", "Підтвердження видалення", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dialogResult == DialogResult.Yes)
            {
                FieldUntie(); //відв'язування полів вводу
                              //код предмету в бд
                int id = Convert.ToInt32(dataGridView1.Rows[dataGridView1.SelectedCells[0].RowIndex].Cells[0].Value);
                //видалення з таблиці бази даних
                command1 = new SQLiteCommand("DELETE FROM specialization WHERE id = @id", Program.conn);
                //додвання параметру
                command1.Parameters.Add(new SQLiteParameter("@id", id));
                //виконання запиту
                SQLiteViewInTable.DeleteDataInBD(command1);
                //повідомлення про видалення
                MessageBox.Show("Дані видалено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                //оновлення виводу таблиці
                ViewData();
            }
        }
        //видалення рядку
        private void btnDelete_Click(object sender, EventArgs e)
        {
            DialogResult dialogResult = MessageBox.Show("Ви точно хочете видалити запис?", "Підтвердження видалення", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

            if (dialogResult == DialogResult.Yes)
            {
                //відв'язування полів від джерела даних
                textBox1.DataBindings.RemoveAt(0);
                textBox2.DataBindings.RemoveAt(0);
                textBox3.DataBindings.RemoveAt(0);
                textBox4.DataBindings.RemoveAt(0);
                //видалення з таблиці
                int index = dataGridView1.SelectedCells[0].RowIndex;
                //видалення з таблиці бази даних
                command = new SQLiteCommand("DELETE FROM Department WHERE idDepartment = @id", Program.conn);
                command.Parameters.Add(new SQLiteParameter("@id", dataGridView1.Rows[index].Cells[1].Value.ToString()));
                //виконання запиту
                SQLiteViewInTable.DeleteDataInBD(command);
                //оновлення виводу таблиці
                FrmSettingDepart_Load(sender, e);
                //повідомлення про успішне видалення
                MessageBox.Show("Дані видалено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
Пример #14
0
        //створення нового аккаунту
        private void btnCreateAccount_Click(object sender, EventArgs e)
        {
            //перевірка заповнення полів
            if (tbFio.Text == "")
            {
                MessageBox.Show("Введіть ваше ПІБ!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                tbFio.Focus();
                return;
            }

            if (tbCreateLog.Text == "")
            {
                MessageBox.Show("Введіть логін!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                tbCreateLog.Focus();
                return;
            }

            if (tbCreatePass.Text == "")
            {
                MessageBox.Show("Введіть пароль!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                tbCreatePass.Focus();
                return;
            }

            if (tbRepeatPass.Text == "")
            {
                MessageBox.Show("Повторіть пароль!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                tbRepeatPass.Focus();
                return;
            }

            //зчитування введених даних
            fio            = tbFio.Text;
            login          = tbCreateLog.Text;
            password       = tbCreatePass.Text;
            repeatPassword = tbRepeatPass.Text;

            //перевірка унікальності логіну
            command = new SQLiteCommand("SELECT login FROM User WHERE login = @log", Program.conn);
            command.Parameters.Add(new SQLiteParameter("@log", login));
            dataReader = command.ExecuteReader();//виконання команди

            //якщо знайшли такий логін
            if (dataReader.Read() == true)
            {
                MessageBox.Show("Такий логін вже існує!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
                tbCreateLog.Focus();
                labelErrorCreateAccount.Text    = "Такий логін вже існує";
                labelErrorCreateAccount.Visible = true;
                return;
            }

            //якщо паролі не співпали
            if (password != repeatPassword)
            {
                MessageBox.Show("Паролі не співпадають!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                labelErrorCreateAccount.Text    = "Паролі не співпадають";
                labelErrorCreateAccount.Visible = true;
                return;
            }

            //додавання в бд
            command = new SQLiteCommand("INSERT INTO User VALUES(NULL, @fio, @log, @pass, @rang)", Program.conn);
            //додавання параметрів
            command.Parameters.Add(new SQLiteParameter("@fio", fio));
            command.Parameters.Add(new SQLiteParameter("@log", login));
            command.Parameters.Add(new SQLiteParameter("@pass", password));
            command.Parameters.Add(new SQLiteParameter("@rang", "-"));
            //виконання запиту
            SQLiteViewInTable.AddDataInBD(command);

            MessageBox.Show("Ваш аккаунт створено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //перехід в панель авторизації
            timer_Back.Start();
            //очищення полів створення аккаунту
            ClearTextBoxRegister();
        }
        //збереження даних в базі
        private void btnSaveData_Click(object sender, EventArgs e)
        {
            //перевірка введення даних
            if (!CheckField())
            {
                return;
            }

            if (btnAddEnabled) //якщо кнопка додати
            {
                //додавання в таблицю бази даних
                command = new SQLiteCommand("INSERT INTO Subject VALUES (NULL, @idSpec, @semester, @NameUA, @NameEN, @Size)", Program.conn);
                //команда пошуку коду спеціалізації
                SQLiteCommand command2 = new SQLiteCommand("SELECT id_specialization FROM specialization WHERE name_ua_spec = @name", Program.conn);
                //доадвання параметру
                command2.Parameters.Add(new SQLiteParameter("@name", comboBox3.Text));
                dataReader = command2.ExecuteReader(); //виконаня команди

                int idSpec = 0;                        //код спеціалізації
                while (dataReader.Read())
                {
                    idSpec = Convert.ToInt32(dataReader[0]);//знайдений код спеціалізації
                }
                //доадвання параметру
                command.Parameters.Add(new SQLiteParameter("@idSpec", idSpec));
                command.Parameters.Add(new SQLiteParameter("@semester", numericSemester.Value));
                command.Parameters.Add(new SQLiteParameter("@NameUA", textBox2.Text));
                command.Parameters.Add(new SQLiteParameter("@NameEN", textBox3.Text));
                command.Parameters.Add(new SQLiteParameter("@Size", textBox5.Text));
                //виконання запиту
                SQLiteViewInTable.AddDataInBD(command);
                //оновлення виводу таблиці
                View(comboBox3, activeRbtn, Convert.ToInt32(numericSemester.Value));
                //Активація та деактивація потрібних кнопок
                btnAddEnabled     = false;
                btnChange.Enabled = true;
                btnDelete.Enabled = true;
                btnAdd.Enabled    = true;
                //повідомлення про успіх
                MessageBox.Show("Дані збережено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else if (btnUpdate) //якщо натиснута кнопку редагувати
            {
                //знаходження коду спеціальності
                SQLiteCommand command2 = new SQLiteCommand("SELECT id_specialization FROM specialization WHERE name_ua_spec = @name", Program.conn);
                //доадвання параметру
                command2.Parameters.Add(new SQLiteParameter("@name", comboBox3.Text));
                dataReader = command2.ExecuteReader(); //виконаня команди

                int idSpec = 0;                        //код спеціалізації
                while (dataReader.Read())
                {
                    idSpec = Convert.ToInt32(dataReader[0]);//знайдений код спеціалізації
                }

                //додавання в таблицю бази даних
                command = new SQLiteCommand("UPDATE Subject SET id_specialization = @idSpec, SemesterNum = @semester, NameUA = @nameUA," +
                                            " NameEN = @nameEN, OverSize = @size WHERE idSubject = @idSubjectd", Program.conn);
                //доадвання параметру
                command.Parameters.Add(new SQLiteParameter("@idSpec", idSpec));
                command.Parameters.Add(new SQLiteParameter("@semester", numericSemester.Value));
                command.Parameters.Add(new SQLiteParameter("@nameUA", textBox2.Text));
                command.Parameters.Add(new SQLiteParameter("@nameEN", textBox3.Text));
                command.Parameters.Add(new SQLiteParameter("@size", textBox5.Text));
                command.Parameters.Add(new SQLiteParameter("@idSubjectd", idSubjectd));
                //виконання запиту
                SQLiteViewInTable.UpdateDateInBD(command);
                //оновлення виводу таблиці
                View(comboBox3, activeRbtn, Convert.ToInt32(numericSemester.Value));
                //Активація та деактивація потрібних кнопок
                btnUpdate         = false;
                btnChange.Enabled = true;
                btnDelete.Enabled = true;
                btnAdd.Enabled    = true;
                //повідомлення про успіх
                MessageBox.Show("Дані збережено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            if (handlerAttached == false)
            {
                numericSemester.ValueChanged += numericSemester_ValueChanged;
                handlerAttached = true;
            }
            btnSaveData.Enabled = false;
            FieldDeActive();
            btnCancel.Enabled = false;
        }
        //відображення даних у таблиці
        private void View(ComboBox comboBox3, int x, int semester)
        {
            //формування запиту
            command = new SQLiteCommand("SELECT * FROM Subject WHERE id_specialization = (SELECT id_specialization FROM specialization WHERE name_ua_spec = @name) AND SemesterNum = @semester", Program.conn);
            //додавання параметрів
            command.Parameters.Add(new SQLiteParameter("@name", comboBox3.Text));
            command.Parameters.Add(new SQLiteParameter("@semester", semester));
            //для виводу в таблицю
            SQLiteViewInTable.OutInTable(command, ref adapterAll, ref dataTableAll, ref bindingSource,
                                         ref commandBuilder, ref dataGridView1, ref bindingNavigator1);

            //якщо таблиця пуста то блокуємо деякі кнопки
            if (dataGridView1.Rows.Count == 0)
            {   //декативація оновлення та видалення
                btnChange.Enabled = false;
                btnDelete.Enabled = false;
            }
            else
            {   //кативація оновлення та видалення
                btnChange.Enabled = true;
                btnDelete.Enabled = true;
            }

            //підпис колонок
            dataGridView1.Columns[0].HeaderText = "Код Предмету";
            dataGridView1.Columns[1].HeaderText = "Код Спеціальності";
            dataGridView1.Columns[3].HeaderText = "Назва українська";
            dataGridView1.Columns[4].HeaderText = "Назва англійська";
            dataGridView1.Columns[5].HeaderText = "Загальний обсяг";

            //зкриття непотрібних комірок
            dataGridView1.Columns[0].Visible = false;
            dataGridView1.Columns[1].Visible = false;
            dataGridView1.Columns[2].Visible = false;

            //ширина комірок
            dataGridView1.Columns[3].Width = 180;
            dataGridView1.Columns[4].Width = 180;

            //очищення біндінга і підвязка полів до джерела даних
            textBox2.DataBindings.Clear();
            textBox2.Clear();
            textBox2.DataBindings.Add("Text", bindingSource, "NameUA");
            textBox3.DataBindings.Clear();
            textBox3.Clear();
            textBox3.DataBindings.Add("Text", bindingSource, "NameEN");
            textBox5.DataBindings.Clear();
            textBox5.Clear();
            textBox5.DataBindings.Add("Text", bindingSource, "OverSize");

            //вставновлення підсказки на заголовках стовпців
            for (int i = 0; i < dataGridView1.Columns.Count; i++)
            {
                dataGridView1.Columns[i].HeaderCell.ToolTipText = "Натисніть для сортування по стовпцю";
            }
            //активація панелі та кнопки додавання
            groupBox2.Enabled = true;
            btnAdd.Enabled    = true;
            //активація всіх перемикачів
            radioButton1.Enabled    = true;
            radioButton2.Enabled    = true;
            radioButton3.Enabled    = true;
            rrr.Enabled             = true;
            numericSemester.Enabled = true;
        }
Пример #17
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (CheckField() != false) // перевірка вводу в поля
            {
                if (btnAddEnabled)     //якщо додавання рядка
                {
                    //додавання в таблицю бази даних
                    command = new SQLiteCommand("INSERT INTO User VALUES (NULL, @fio, @login, @pass, @admin)", Program.conn);
                    //додавання параметрів
                    command.Parameters.Add(new SQLiteParameter("@fio", textBox1.Text));
                    command.Parameters.Add(new SQLiteParameter("@login", textBox2.Text));
                    command.Parameters.Add(new SQLiteParameter("@pass", textBox3.Text));
                    if (checkBox1.Checked)
                    {
                        command.Parameters.Add(new SQLiteParameter("@admin", "+"));
                    }
                    else
                    {
                        command.Parameters.Add(new SQLiteParameter("@admin", "-"));
                    }
                    //виконання запиту
                    SQLiteViewInTable.AddDataInBD(command);
                    //оновлення виводу таблиці
                    FrmSettingUser_Load(sender, e);

                    btnAddEnabled  = false;
                    btnAdd.Enabled = true;
                    //повідомлення про успіх
                    MessageBox.Show("Дані збережено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else if (btnUpdate)
                {
                    //додавання в таблицю бази даних
                    command = new SQLiteCommand("UPDATE User SET fio = @fio, login = @login, password = @pass, rang = @admin WHERE idUser = @id", Program.conn);
                    //додавання параметрів
                    command.Parameters.Add(new SQLiteParameter("@Id", dataGridView1.Rows[dataGridView1.SelectedCells[0].RowIndex].Cells[0].Value));
                    command.Parameters.Add(new SQLiteParameter("@fio", textBox1.Text));
                    command.Parameters.Add(new SQLiteParameter("@login", textBox2.Text));
                    command.Parameters.Add(new SQLiteParameter("@pass", textBox3.Text));
                    if (checkBox1.Checked)
                    {
                        command.Parameters.Add(new SQLiteParameter("@admin", "+"));
                    }
                    else
                    {
                        command.Parameters.Add(new SQLiteParameter("@admin", "-"));
                    }
                    //виконання запиту
                    SQLiteViewInTable.UpdateDateInBD(command);
                    //оновлення виводу таблиці
                    FrmSettingUser_Load(sender, e);

                    btnUpdate         = false;
                    btnChange.Enabled = true;
                    //повідомлення про успіх
                    MessageBox.Show("Дані збережено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }

                TextBoxDeActive(); //деактивація полів вводу
                //активація та деактивація потрібних кнопок
                btnSave.Enabled   = false;
                btnCancel.Enabled = false;
                btnAdd.Enabled    = true;
                btnDelete.Enabled = true;
                btnChange.Enabled = true;
            }
        }
Пример #18
0
        //додавання даних
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (CheckField() != false) //перевірка правильності введення даних
            {
                if (btnAddEnabled)     //якщо натистута кнопка додати
                {
                    //команда додавання в таблицю бази даних
                    command = new SQLiteCommand("INSERT INTO Specialty VALUES (NULL, @id, @idDepart, @NameUA, @NameEN)", Program.conn);
                    //комада пошуку коду відділення
                    SQLiteCommand command2 = new SQLiteCommand("SELECT idDepartment FROM Department WHERE NameUA = @name", Program.conn);
                    //додавання параметру
                    command2.Parameters.Add(new SQLiteParameter("@name", cmbxDepart.Text));
                    dataReader = command2.ExecuteReader(); //виконання запиту

                    int id = 0;                            //код за замовчуванням
                    while (dataReader.Read())
                    {
                        id = Convert.ToInt32(dataReader[0]); //отримання коду відділення з БД
                    }
                    //додавання параметрів
                    command.Parameters.Add(new SQLiteParameter("@id", textBox1.Text));
                    command.Parameters.Add(new SQLiteParameter("@idDepart", id));
                    command.Parameters.Add(new SQLiteParameter("@NameUA", textBox2.Text));
                    command.Parameters.Add(new SQLiteParameter("@NameEN", textBox3.Text));
                    //виконання запиту
                    SQLiteViewInTable.AddDataInBD(command);
                    //оновлення виводу таблиці
                    cmbxDepart_SelectedIndexChanged(sender, e);
                    //зміна прапорця додавання
                    btnAddEnabled = false;
                    //повідомлення про виконання додавання
                    MessageBox.Show("Дані збережено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                else if (btnUpdate) // якщо натиснута кнопка редагувати
                {
                    try
                    {
                        //комада пошуку коду відділення
                        SQLiteCommand command2 = new SQLiteCommand("SELECT idDepartment FROM Department WHERE NameUA = @name", Program.conn);
                        //додавання параметру
                        command2.Parameters.Add(new SQLiteParameter("@name", cmbxDepart.Text));
                        dataReader = command2.ExecuteReader(); //виконання запиту

                        int idDepartment = 0;                  //код за замовчуванням
                        while (dataReader.Read())
                        {
                            idDepartment = Convert.ToInt32(dataReader[0]);//отримання коду відділення з БД
                        }

                        //додавання в таблицю бази даних
                        command = new SQLiteCommand("UPDATE Specialty SET idSpecialty = @idSpec, idDepartament = @idDepart, NameUA = @nameUA," +
                                                    " NameEN = @nameEN WHERE id_row = @idCurrent", Program.conn);
                        //додавання параметрів
                        command.Parameters.Add(new SQLiteParameter("@idSpec", textBox1.Text));
                        command.Parameters.Add(new SQLiteParameter("@idDepart", idDepartment));
                        command.Parameters.Add(new SQLiteParameter("@nameUA", textBox2.Text));
                        command.Parameters.Add(new SQLiteParameter("@nameEN", textBox3.Text));
                        command.Parameters.Add(new SQLiteParameter("@idCurrent", dataGridView1.Rows[dataGridView1.SelectedCells[0].RowIndex].Cells[0].Value));

                        //виконання запиту
                        SQLiteViewInTable.UpdateDateInBD(command);

                        //якщо відділення змінювалось
                        if (updateDepart == true)
                        {
                            btnSaveUpdateDepartForSpec();
                            updateDepart = false; //деацтивація прапорця редагування
                        }
                        //змінаподії для випадаючого списку
                        cmbxDepart.SelectedIndexChanged -= cmbxDepart_IndexChangedForUpdate;
                        cmbxDepart.SelectedIndexChanged += cmbxDepart_SelectedIndexChanged;

                        //оновлення виводу таблиці
                        cmbxDepart_SelectedIndexChanged(sender, e);
                    } //повідомення про помилку
                    catch { MessageBox.Show("Cпеціальність з кодом " + textBox1.Text + " вже існує!"); return; }

                    btnUpdate = false;
                    //повідомлення про успіх
                    MessageBox.Show("Дані збережено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                //активація та деактивація потрібних кнопок
                btnSave.Enabled   = false;
                btnCancel.Enabled = false;
                btnAdd.Enabled    = true;
                btnChange.Enabled = true;
                btnDelete.Enabled = true;
                FieldDeActive();//деактивація полів
            }
        }
        //виведення даних в таблицю
        private void FrmOpenReference_Load(object sender, EventArgs e)
        {
            //створення запиту для користувача
            if (account.rang != "+")
            {
                command = new SQLiteCommand("SELECT SavedData.idSave, SavedData.SurnameUA, SavedData.NameUA, SavedData.PatronymicUA, Specialty.NameUA, " +
                                            "specialization.name_ua_spec, SavedData.DateRecord FROM (SavedData INNER JOIN Specialty ON SavedData.NumSpeciality = Specialty.idSpecialty) " +
                                            "INNER JOIN specialization ON SavedData.Specialization = specialization.id_specialization WHERE LoginCreated = @log", Program.conn);
                command.Parameters.Add(new SQLiteParameter("@log", account.login));
            }//створення запиут для адміністратора
            else
            {
                command = new SQLiteCommand("SELECT SavedData.idSave, SavedData.SurnameUA, SavedData.NameUA, SavedData.PatronymicUA, Specialty.NameUA AS SPEC, " +
                                            "specialization.name_ua_spec AS SPECIAL, SavedData.DateRecord FROM (SavedData INNER JOIN Specialty ON SavedData.NumSpeciality = Specialty.idSpecialty) " +
                                            "INNER JOIN specialization ON SavedData.Specialization = specialization.id_specialization", Program.conn);
            }
            //виконання запиту
            SQLiteViewInTable.OutInTable(command, ref dataAdapter, ref dataTable, ref bindingSource, ref dataGridView1, ref bindingNavigator1);

            //підпис стовпців таблиці
            dataGridView1.Columns[0].Visible    = false;
            dataGridView1.Columns[1].HeaderText = "Прізвище";
            dataGridView1.Columns[2].HeaderText = "Ім'я";
            dataGridView1.Columns[3].HeaderText = "По батькові";
            dataGridView1.Columns[4].HeaderText = "Спеціальність";
            dataGridView1.Columns[5].HeaderText = "Спеціалізація";
            dataGridView1.Columns[6].HeaderText = "Дата збереження";
            //очищення полів
            tbSurname.DataBindings.Clear();
            tbName.DataBindings.Clear();
            tbPatronimyc.DataBindings.Clear();
            tbSpeciality.DataBindings.Clear();
            tbSpecialization.DataBindings.Clear();
            tbDateRecord.DataBindings.Clear();
            //підвязка текстових полів до стовпців таблиці
            tbSurname.DataBindings.Add("Text", bindingSource, "SurnameUA");
            tbName.DataBindings.Add("Text", bindingSource, "NameUA");
            tbPatronimyc.DataBindings.Add("Text", bindingSource, "PatronymicUA");
            tbSpeciality.DataBindings.Add("Text", bindingSource, "SPEC");
            tbSpecialization.DataBindings.Add("Text", bindingSource, "SPECIAL");
            tbDateRecord.DataBindings.Add("Text", bindingSource, "DateRecord");

            //вставновлення підсказки на заголовках стовпців
            for (int i = 0; i < dataGridView1.Columns.Count; i++)
            {
                dataGridView1.Columns[i].HeaderCell.ToolTipText = "Натисніть для сортування по стовпцю";
            }

            //подія виклику інструкції
            this.HelpButtonClicked += HelpButton_Click;

            //блокування кнопки видалення
            if (dataGridView1.Rows.Count == 0)
            {
                btnDelete.Enabled = false;
            }
            else
            {
                btnDelete.Enabled = true;
            }
        }
        //збереження даних
        private void btnSave_Click(object sender, EventArgs e)
        {
            //перевірка введених даних
            if (!CheckField())
            {
                return;
            }

            //додавання нового рядка
            if (btnAddEnabled)
            {
                //команда пошуку коду спеціалізації
                SQLiteCommand command3 = new SQLiteCommand("SELECT id_specialization FROM specialization WHERE id_specialization = @id", Program.conn);
                //додавання параметру
                command3.Parameters.Add(new SQLiteParameter("@id", tbKey.Text));
                dataReader = command3.ExecuteReader(); //виконання команди

                if (dataReader.HasRows)                //перевірка існування рядкуів
                {
                    //повідомлення про дублікат спеціалізацій
                    MessageBox.Show("Спеціалізація з введеним кодом вже існує!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
                //додавання в таблицю бази даних
                command1 = new SQLiteCommand("INSERT INTO specialization VALUES (NULL, @id_specialization, @name_ua_spec, @name_en_spec, @id_specialty)", Program.conn);
                //пошук коду спеціальності
                SQLiteCommand command2 = new SQLiteCommand("SELECT idSpecialty FROM Specialty WHERE NameUA = @name", Program.conn);
                //додавання параметру
                command2.Parameters.Add(new SQLiteParameter("@name", cbSpec.Text));
                dataReader = command2.ExecuteReader(); //виконання команди

                int id = 0;                            //код спеціальності
                while (dataReader.Read())
                {
                    id = Convert.ToInt32(dataReader[0]); //знайдений код спеціальності
                }
                //Додавання параметрів
                command1.Parameters.Add(new SQLiteParameter("@id_specialization", tbKey.Text));
                command1.Parameters.Add(new SQLiteParameter("@id_specialty", id));
                command1.Parameters.Add(new SQLiteParameter("@name_ua_spec", tbNameUA.Text));
                command1.Parameters.Add(new SQLiteParameter("@name_en_spec", tbNameEN.Text));
                //виконання запиту
                SQLiteViewInTable.AddDataInBD(command1);
                //оновлення виводу таблиці
                ViewData();
                //активація та деактивація потрібних кнопок
                btnAddEnabled     = false;
                btnChange.Enabled = true;
                btnDelete.Enabled = true;
                btnAdd.Enabled    = true;
                //повідомлення про успіх
                MessageBox.Show("Дані збережено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else if (btnUpdate) //оновлення данних
            {
                //поточний код запису
                string id_row = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString();

                //команда пошуку спеціалізації
                SQLiteCommand command3 = new SQLiteCommand("SELECT id_specialization, id FROM specialization WHERE id_specialization = @id_spec", Program.conn);
                //Додавання параметрів
                command3.Parameters.Add(new SQLiteParameter("@id_spec", tbKey.Text));
                dataReader = command3.ExecuteReader(); //виконання запиту
                if (dataReader.HasRows)
                {
                    while (dataReader.Read())
                    {
                        if (dataReader[1].ToString() != id_row)
                        {
                            //повідомлення про дублікат спеціалізації
                            MessageBox.Show($"Помилка! Існує інша спеціалізація з кодом {dataReader[0].ToString()}.", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                            return;
                        }
                    }
                }

                //знаходження коду спеціальності
                SQLiteCommand command2 = new SQLiteCommand("SELECT idSpecialty FROM Specialty WHERE NameUA = @name", Program.conn);
                //Додавання параметрів
                command2.Parameters.Add(new SQLiteParameter("@name", cbSpec.Text));
                dataReader = command2.ExecuteReader(); //виконання запиту

                int id = 0;                            //код спеціальності
                while (dataReader.Read())
                {
                    id = Convert.ToInt32(dataReader[0]); //знайдений код спеціальності
                }

                //додавання в таблицю бази даних
                command1 = new SQLiteCommand("UPDATE specialization SET id_specialization = @id_specialization, id_specialty = @id_specialty," +
                                             " name_ua_spec = @name_ua_spec, name_en_spec = @name_en_spec WHERE id = @id_row", Program.conn);
                //Додавання параметрів
                command1.Parameters.Add(new SQLiteParameter("@id_specialization", tbKey.Text));
                command1.Parameters.Add(new SQLiteParameter("@id_specialty", id));
                command1.Parameters.Add(new SQLiteParameter("@name_ua_spec", tbNameUA.Text));
                command1.Parameters.Add(new SQLiteParameter("@name_en_spec", tbNameEN.Text));
                command1.Parameters.Add(new SQLiteParameter("@id_row", id_row));

                //виконання запиту
                SQLiteViewInTable.UpdateDateInBD(command1);
                //оновлення виводу таблиці
                ViewData();
                //активація та деактивація потрібних кнопок
                btnUpdate         = false;
                btnChange.Enabled = true;
                btnDelete.Enabled = true;
                btnAdd.Enabled    = true;
                //повідомлення про успіх
                MessageBox.Show("Дані збережено!", "Увага!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            btnSave.Enabled = false;
            FieldDeActive(); //деактивація полів вводу
            btnCancel.Enabled = false;
        }