Example #1
0
        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";
        }
Example #2
0
        private void Worker_Load(object sender, EventArgs e)
        {
            Table_Class table = new Table_Class(DBConnection.qrWorker);

            dgvWorker.DataSource = table.table;
            dgvConfiguration(dgvWorker);
            cbFill();
        }
Example #3
0
        /// <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");
            }
        }
Example #4
0
        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);
        }
Example #5
0
        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;
            }
        }
Example #6
0
        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;
            }
        }
Example #7
0
        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;
            }
        }
Example #8
0
        /// <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();
            }
        }
Example #9
0
        /// <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
            {
            }
        }
Example #10
0
        /// <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
            {
            }
        }