//видалення обраної збереженої довідки 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; } }
//подія змніи відділення 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(); //закриття вікна }
//подія видалення рядка 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); } }
//подія видалення рядка 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)); } }
//вивід даних у таблицю 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); } }
//створення нового аккаунту 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; }
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; } }
//додавання даних 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; }