public ClassSqlServerDatabase(string n, string dsn, ClassServer s) { Name = n; Dsn = dsn; LstTable = new List<ClassTable>(); Server=s; }
/*--------------------------------------------------------------------*/ /* УДАЛИТЬ ПАПКУ -----------------------------------------------------*/ void DeleteFolder() // удалить папку { if (ClassConfig.Rapid_Client_UserRight == "admin") { if (listView1.SelectedIndices.Count > 0) // проверка выбранного элемента { if (listView1.Items[listView1.SelectedIndices[0]].SubItems[2].Text.ToString() == "Папка" && listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString() != "..") { if (listView1.SelectedItems[0].StateImageIndex == 0) { // Установка отметки удаления String _folder = listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString(); if (MessageBox.Show("Пометить папку '" + _folder + "' и все её элементы на удаление?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes) { MsSQLShort SQLCommand = new MsSQLShort(); SQLCommand.SqlCommand = "UPDATE firms SET firm_delete = 1 WHERE (firm_name = '" + _folder + "' OR firm_folder = '" + _folder + "')"; if (SQLCommand.ExecuteNonQuery()) { ClassForms.Rapid_Client.MessageConsole("Фирмы: Успешное удаление папки '" + _folder + "' и её содержимое.", false); // ИСТОРИЯ: Запись в журнал истории обновлений ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Удаление папки", ""); } else { ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка удаления папки '" + _folder + "'.", true); } } } else { // Восстановление папки и всех элементов String _folder = listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString(); if (MessageBox.Show("Восстановить папку '" + _folder + "' и все её элементы?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes) { MsSQLShort SQLCommand = new MsSQLShort(); SQLCommand.SqlCommand = "UPDATE firms SET firm_delete = 0 WHERE (firm_name = '" + _folder + "' OR firm_folder = '" + _folder + "')"; if (SQLCommand.ExecuteNonQuery()) { ClassForms.Rapid_Client.MessageConsole("Фирмы: Успешное восстановление папки '" + _folder + "' и её содержимое.", false); // ИСТОРИЯ: Запись в журнал истории обновлений ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Восстановление папки", ""); } else { ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка восстановление папки '" + _folder + "'.", true); } } } } } } else { MessageBox.Show("Извините но вы '" + ClassConfig.Rapid_Client_UserName + "' не обладаете достаточными правами для удаления.", "Сообщение"); ClassForms.Rapid_Client.MessageConsole("Фирмы: у вас недостаточно прав для удаления.", false); } }
/* СОХРАНЕНИЕ: сохранение данных в таблицу */ void SaveData() // созранение данных { MsSQLShort SQlCommand = new MsSQLShort(); if (this.Text == "Создать папку.") { SQlCommand.SqlCommand = "INSERT INTO firms (firm_name, firm_details, firm_address_phone, firm_trade_representative, firm_additionally, firm_type, firm_folder, firm_delete) VALUES ('" + textBox1.Text + "', '', '', '', '', 1, '', 0)"; if (SQlCommand.ExecuteNonQuery()) { // ИСТОРИЯ: Запись в журнал истории обновлений ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Создание новой папки.", ""); ClassForms.Rapid_Client.MessageConsole("Фирмы: создание новой папки.", false); Close(); } else { ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения запроса к таблице 'Фирмы' при создании новой папки.", true); } } if (this.Text == "Изменить папку.") { SQlCommand.SqlCommand = "UPDATE firms SET firm_name = '" + textBox1.Text + "' WHERE (id_firm = " + ActionID + ")"; if (SQlCommand.ExecuteNonQuery()) { // ОБНОВИТЬ ВЛОЖЕННЫЕ ЭЛЕМЕНТЫ В ДАННОЙ ПАПКЕ MsSQLShort SQLCommandAllUpdate = new MsSQLShort(); SQLCommandAllUpdate.SqlCommand = "UPDATE firms SET firm_folder = '" + textBox1.Text + "' WHERE (firm_folder = '" + FolderName + "')"; if (SQLCommandAllUpdate.ExecuteNonQuery()) { ClassForms.Rapid_Client.MessageConsole("Фирма: записи папки успешно перенесены.", false); } else { ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения переноса элементов в изменённую папки.", true); MsSQLShort SQLCommandBack = new MsSQLShort(); SQLCommandBack.SqlCommand = "UPDATE firms SET firm_name = '" + FolderName + "' WHERE (id_firm = " + ActionID + ")"; if (!SQLCommandBack.ExecuteNonQuery()) { ClassForms.Rapid_Client.MessageConsole("Фирмы: КРИТИЧНАЯ ОШИБКА: Папка восстановлению не подлежит.", true); } } // ОБНОВЛЕНИЕ ЗАВЕРШЕНО --------------------- // ИСТОРИЯ: Запись в журнал истории обновлений ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Изменение имени папки", ""); ClassForms.Rapid_Client.MessageConsole("Фирма: папка №" + ActionID + " успешно изменена.", false); Close(); } else { ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения изменения имени папки." + ActionID, true); } } }
public void LoadFromDb(string dsn, DbType type) { try { switch (type) { case DbType.MySql: _oDatabase = new ClassMySqlServer(); break; case DbType.SqlServer: _oDatabase = new ClassSqlServerServer(); break; } Text = dsn; _oDatabase.Dsn = dsn; _oDatabase.LoadFromDb(); treeViewDB.Nodes.Clear(); foreach (ClassDatabase oDb in _oDatabase) { TreeNode tn = treeViewDB.Nodes.Add(oDb.Name); tn.Tag = oDb; oDb.LoadFromDb(); foreach (ClassTable oDt in oDb) { //tn.Nodes.Add(oDt.name + " (" + oDt.nbRow() + " lignes )"); TreeNode tt = tn.Nodes.Add(oDt.Name); tt.Tag = oDt; oDt.LoadFromDb(); foreach (ClassField oFd in oDt) { TreeNode tf = tt.Nodes.Add(oFd.Name); tf.Tag = oFd; if (oFd.Type != "") tf.Nodes.Add(oFd.Type); if (oFd.NullAccepted != "") tf.Nodes.Add(oFd.NullAccepted); if (oFd.IsKey != "") tf.Nodes.Add(oFd.IsKey); if (oFd.Extra != "") tf.Nodes.Add(oFd.Extra); } } } } catch(Exception) { Close(); throw; } }
/*--------------------------------------------------------------------*/ /* УДАЛИТЬ ЗАПИСЬ ----------------------------------------------------*/ void DeleteElement() // Удалить запись { if (ClassConfig.Rapid_Client_UserRight == "admin") { if (listView1.SelectedIndices.Count > 0) // проверка выбранного элемента { if (listView1.Items[listView1.SelectedIndices[0]].SubItems[2].Text.ToString() != "Папка" && listView1.Items[listView1.SelectedIndices[0]].SubItems[1].Text.ToString() != "..") { if (listView1.SelectedItems[0].StateImageIndex == 2) // не удалён // Установка отметки удаления { if (MessageBox.Show("Пометить запись на удаление?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes) { MsSQLShort SQLCommand = new MsSQLShort(); SQLCommand.SqlCommand = "UPDATE firms SET firm_delete = 1 WHERE (id_firm = " + listView1.Items[listView1.SelectedIndices[0]].SubItems[3].Text.ToString() + ")"; if (SQLCommand.ExecuteNonQuery()) { // ИСТОРИЯ: Запись в журнал истории обновлений ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Удаление записи.", ""); ClassForms.Rapid_Client.MessageConsole("Фирмы: успешное удаление записи.", false); } else { ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения запроса к таблице 'Фирмы' при удалении записи.", true); } } } else // уже уданён // Восстановление записи { if (MessageBox.Show("Восстановить запись?", "Вопрос:", MessageBoxButtons.YesNo) == DialogResult.Yes) { MsSQLShort SQLCommand = new MsSQLShort(); SQLCommand.SqlCommand = "UPDATE firms SET firm_delete = 0 WHERE (id_firm = " + listView1.Items[listView1.SelectedIndices[0]].SubItems[3].Text.ToString() + ")"; if (SQLCommand.ExecuteNonQuery()) { // ИСТОРИЯ: Запись в журнал истории обновлений ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Восстановление записи.", ""); ClassForms.Rapid_Client.MessageConsole("Фирмы: успешное восстановление записи.", false); } else { ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения запроса к таблице 'Фирмы' при восстановлении записи.", true); } } } } } } }
/*----------------------------------------------------------------*/ /* СОХРАНЕНИЕ: сохранение данных в таблицу */ void SaveData() // созранение данных { MsSQLShort SQlCommand = new MsSQLShort(); // При сохранении новой записи if (this.Text == "Новая запись.") { SQlCommand.SqlCommand = "INSERT INTO firms (firm_name, firm_details, firm_address_phone, firm_trade_representative, firm_additionally, firm_type, firm_folder, firm_delete) VALUES ('" + textBox1.Text + "', '" + textBox3.Text + "', '" + textBox4.Text + "', '" + textBox2.Text + "', '" + textBox5.Text + "', 0, '" + comboBox1.Text + "', 0)"; if (SQlCommand.ExecuteNonQuery()) { // ИСТОРИЯ: Запись в журнал истории обновлений ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Создание новой записи.", ""); ClassForms.Rapid_Client.MessageConsole("Фирмы: успешное создание новой записи.", false); Close(); } else { ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения запроса к таблице 'Фирмы' при создании новой записи.", true); } } // При сохранении измененной записи if (this.Text == "Изменить запись.") { if (ClassConfig.Rapid_Client_UserRight == "admin") { SQlCommand.SqlCommand = "UPDATE firms SET firm_name = '" + textBox1.Text + "', firm_details ='" + textBox3.Text + "', firm_address_phone = '" + textBox4.Text + "', firm_trade_representative = '" + textBox2.Text + "', firm_additionally = '" + textBox5.Text + "', firm_folder = '" + comboBox1.Text + "' WHERE (id_firm = " + ActionID + ") "; if (SQlCommand.ExecuteNonQuery()) { // ИСТОРИЯ: Запись в журнал истории обновлений ClassServer.SaveUpdateInBase(3, DateTime.Now.ToString(), "", "Изменение записи.", ""); ClassForms.Rapid_Client.MessageConsole("Фирмы: успешное изменение записи.", false); Close(); } else { ClassForms.Rapid_Client.MessageConsole("Фирмы: Ошибка выполнения запроса к таблице 'Фирмы' при изменении записи.", true); } } else { MessageBox.Show("Извините но вы '" + ClassConfig.Rapid_Client_UserName + "' не обладаете достаточными правами для ввода изменений.", "Сообщение"); ClassForms.Rapid_Client.MessageConsole("Фирмы: у вас недостаточно прав для ввода изменений.", false); } } }