private void cbFill() { Table_Class table = new Table_Class("Select [ID_Dolzh], [Dolzh_Title] from [dbo].[Dolzh]"); cbDolzh.DataSource = table.table; cbDolzh.DisplayMember = "Dolzh_Title"; cbDolzh.ValueMember = "ID_Dolzh"; }
private void Worker_Load(object sender, EventArgs e) { Table_Class table = new Table_Class(DBConnection.qrWorker); dgvWorker.DataSource = table.table; dgvConfiguration(dgvWorker); cbFill(); }
/// <summary> /// Проверка на существование записи в таблице /// </summary> /// <param name="ID"> ID записи</param> /// <param name="TableName">Название таблицы</param> public void Record_Checking(Int32 ID, string TableName) { Table_Class table = new Table_Class( string.Format("select COUNT(*) from [dbo].[{1}] where [ID_{1}] = {0}", ID, TableName)); if (Convert.ToInt32(table.table.Rows[0][0].ToString()) > 0) { System.Windows.Forms.MessageBox.Show("Невозможно произвести удаление записи, так как она связана с другими!", "Fgnbu"); } }
private void button4_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog = new SaveFileDialog(); //Проверка saveFileDialog if (saveFileDialog.ShowDialog() == DialogResult.Cancel) { return; } SaveFileDialog saveFileDialog1 = new SaveFileDialog(); //Получаем название файла string filename = saveFileDialog.FileName; Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application(); //Объявление переменной с неявным типом (автоматическим выбором типа данных) var ExcelWorkBook = ExcelApp.Application.Workbooks.Add(Type.Missing); ExcelApp.Columns.ColumnWidth = 15; Table_Class table = new Table_Class("SELECT [Vaktsiny_Title] as \"Название вакцины\", CONCAT_WS(\' \',[Worker_Name], [Worker_Surname], [Worker_MiddleName]) as \"Руководящий сотрудник\"," + " [SposobPrim_Title] as \"Способ применения вакцины\", [Bolezn_Title] as \"Болезнь\", [Tip_Title] as \"Тип вакцины\" FROM [dbo].[Vaktsiny] " + "INNER JOIN [dbo].[Worker] ON [dbo].[Vaktsiny].[Vaktsiny_ID_Worker] = [dbo].[Worker].[ID_Worker]" + "INNER JOIN [dbo].[SposobPrim] ON [dbo].[Vaktsiny].[Vaktsiny_ID_SposobPrim] = [dbo].[SposobPrim].[ID_SposobPrim] " + "INNER JOIN [dbo].[Bolezn] ON [dbo].[Vaktsiny].[Vaktsiny_ID_Bolezn] = [dbo].[Bolezn].[ID_Bolezn] " + "INNER JOIN [dbo].[Tip] ON [dbo].[Vaktsiny].[Vaktsiny_ID_Tip] = [dbo].[Tip].[ID_Tip]"); DataGridView dgv = new DataGridView(); dgv.DataSource = table.table; dgvWorker.DataSource = table.table; //Заголовки для экселя ExcelApp.Cells[1, 1] = "Название вакцины"; ExcelApp.Cells[1, 2] = "Руководящий сотрудник"; ExcelApp.Cells[1, 3] = "Способ применения вакцины"; ExcelApp.Cells[1, 4] = "Болезнь"; ExcelApp.Cells[1, 5] = "Тип вакцины"; //Цикл по выводу информации из DataGridView в Excel for (int i = 0; i < dgvWorker.ColumnCount; i++) { for (int j = 0; j < dgvWorker.RowCount; j++) { ExcelApp.Cells[j + 2, i + 1] = (dgvWorker[i, j].Value).ToString(); } } //Сохранение ExcelWorkBook.SaveAs(filename, Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookDefault, Type.Missing, Type.Missing, false, false, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //Закрытие приложения ExcelApp.Quit(); MessageBox.Show("Файл успешно сформирован"); Vaktsiny_Load(sender, e); }
private void chkFilter_CheckedChanged(object sender, EventArgs e) { //Фильтрация, суть которой в поиске совпадений в таблице в бд switch (chkFilter.Checked) { case (true): Table_Class table1 = new Table_Class(DBConnection.qrTip + string.Format("where [Tip_Title] like '%{0}%' ", tbSearch.Text)); dgvWorker.DataSource = table1.table; break; case (false): Table_Class table2 = new Table_Class(DBConnection.qrTip); dgvWorker.DataSource = table2.table; break; } }
private void chkFilter_CheckedChanged(object sender, EventArgs e) { //Фильтрация, суть которой в поиске совпадений в таблице в бд switch (chkFilter.Checked) { case (true): Table_Class table1 = new Table_Class(DBConnection.qrTip + string.Format("where [Vaktsiny_Title] like '%{0}%' or" + "[SposobPrim_Title] like '%{0}%' or [Bolezn_Title] like '%{0}%' or [Tip_Title] like '%{0}%' or CONCAT_WS(\' \',[Worker_Name], [Worker_Surname], [Worker_MiddleName]) like '%{0}%' or ", tbSearch.Text)); dgvWorker.DataSource = table1.table; break; case (false): Table_Class table2 = new Table_Class(DBConnection.qrTip); dgvWorker.DataSource = table2.table; break; } }
private void checkBox1_CheckedChanged(object sender, EventArgs e) { //Фильтрация, суть которой в поиске совпадений в таблице в бд switch (chkFilter.Checked) { case (true): Table_Class table1 = new Table_Class(DBConnection.qrWorker + string.Format("where [Worker_Surname] like '%{0}%' " + "or" + "[Worker_Name] like '%{0}%' " + "or" + "[Worker_MiddleName] like '%{0}%' " + "or [Seriers_Number_Password] like '%{0}%'" + "or [Worker_Login] like '%{0}%'" + "or [Worker_Password] like '%{0}%'", tbSearch.Text)); dgvWorker.DataSource = table1.table; break; case (false): Table_Class table2 = new Table_Class(DBConnection.qrWorker); dgvWorker.DataSource = table2.table; break; } }
/// <summary> /// Метод обращения к любой хранимой процедуре Microsoft SQL Server /// </summary> /// <param name="Procedure_name">Водимое название процедуры из БД</param> /// <param name="fileld_value">Не типизированная коллекция значений приложения</param> public void procedure_Execution(string Procedure_name, ArrayList fileld_value) { //Запрос на вывод списка параметров, конкретной хранимолй процедуры //в зависимости от введённого разработчиком названия Stored Procedure Table_Class table = new Table_Class(string.Format("select name from sys.parameters " + "where " + "object_id =" + " (select object_id from sys.procedures where name = '{0}')", Procedure_name)); try { //Настройка SQLCommand для работы с хранимыми процедурами command.CommandType = CommandType.StoredProcedure; //Присвоение в текст команды названия хранимой процедуры command.CommandText = string.Format("[dbo].[{0}]", Procedure_name); //Отчистка параметров command.Parameters.Clear(); for (int i = 0; i < table.table.Rows.Count; i++) { //Сопоставление значений коллекций в значения параметров command.Parameters.AddWithValue(table.table.Rows[i][0].ToString(), fileld_value[i]); } //Объявление события на перехват сообщений из БД Configuration_class.connection.InfoMessage += Connection_InfoMessage; //Открытие подключения Configuration_class.connection.Open(); //Выполнение запроса процедуры command.ExecuteNonQuery(); } catch { } finally { //Закрытие подключения Configuration_class.connection.Close(); } }
/// <summary> /// Вызов функции авторизации пользователя в системе для открытия сессии /// работы в программе /// </summary> /// <param name="Login">Значение логина пользователя</param> /// <param name="Password">Значение пароля пользователя</param> public void Authorization(string Login, string Password) { //Обращение к табличной функции Table_Class table = new Table_Class( string.Format("select COUNT(*) from [dbo].[Worker] where [Worker_Login] = '{0}' and [Worker_Password] = '{1}'", Login, Password)); try { //Присвоение в статическую строковую переменную значения первичного ключа Program.intID = table.table.Rows[0][0].ToString(); //Проверка на пустоту первичного ключ if ((Convert.ToInt32(Program.intID) > 0) & (Program.Welcome == false)) { // Table_Class table2 = new Table_Class( //string.Format("select [Employee_Last_Name], [Employee_Name], [Employee_Middle_Name] " + //"from [dbo].[Welcome]('{0}')", Program.intID)); // System.Windows.Forms.MessageBox.Show(string.Format("Добро пожаловать, {0} {1} {2}", // table2.table.Rows[0][0].ToString(), table2.table.Rows[0][1].ToString(), table2.table.Rows[0][2].ToString()), "Fgnbu"); } } catch { } }
/// <summary> /// Вызов перегрузки класса с функциями Microsoft SQL Server /// для функций которые имеют в себе формальные параметры /// </summary> /// <param name="Function_name">Название функции</param> /// <param name="type_function">Тип функции: /// table или scalar</param> /// <param name="parametrs">Не типизированный список /// передаваемых параметров</param> public Function_Class(string Function_name, string type_function, ArrayList parametrs) { //Объявление строковой переменной для формирования запроса string query = ""; try { //Проверка на тип функции switch (type_function) { case "scalar": //Формирование первой части скалярного запроса query = string.Format(@"select [dbo].[{0}](", Function_name); break; case "table": //Формирование первой части табличного запроса query = string.Format(@"select * from [dbo].[{0}](", Function_name); break; } //Строковая переменная колекции параметров //Вторая часть любого запроса string list_param = ""; //Условие на проверку количества параметров switch (parametrs.Count) { case 1: //В случае если параметр один запрос завершается list_param += parametrs[0].ToString() + ")"; break; default: //Перебор всех параметров из коллекции ArrayList foreach (object param in parametrs) { //Присвоение в строковую переменную //полученный список параметров из перегрузки list_param += param + ","; } //Удаление из получееной строки поледней запятой list_param = list_param.Remove(list_param.Length - 1, 1); //Закрывающая скобка запрпоса обращения //к функции list_param += ")"; break; } //Конкатенирование первой и второй части запроса query += list_param; //Занесение запроса в класс Table_Data Table_Class table = new Table_Class(query); //Присвоение результирующей таблицы в выходную таблицу Restable = table.table; } catch { } }