/// <summary> /// queries without params /// </summary> /// <param name="showFun"></param> /// <param name="qFun"> /// </param> /// <param name="n"> /// 0 - СтудентИзГорода /// 1 - ГруппыКафедры /// 2 - ПредметыБольшеСтолькиЧасов</param> /// <param name="_lofDelegate"></param> /// <param name="textBox"></param> public static void QueriesWithParams(fun3 showFun, fun1 qFun, int n, params string[] textBox) { try { Cn.Open(); OleDbCommand cmd = new OleDbCommand(); cmd.Connection = Cn; switch (n) { case 0: cmd.Parameters.AddWithValue("[Введите город]", textBox[0]); cmd.CommandText = "SELECT * FROM СтудентИзГорода"; break; case 1: cmd.Parameters.AddWithValue("[ID кафедры]", textBox[0]); cmd.CommandText = "SELECT * FROM ГруппыКафедры"; break; case 2: cmd.Parameters.AddWithValue("[Кол-во часов]", textBox[0]); cmd.CommandText = "SELECT * FROM ПредметыБольшеСтолькиЧасов"; break; } cmd.ExecuteNonQuery(); Cn.Close(); showFun(cmd); } catch (Exception ex) { Cn.Close(); qFun(ex.Message); } }
/// <summary> /// queries without params /// </summary> /// <param name="showFun"></param> /// <param name="qFun"> /// </param> /// <param name="n"> /// 0 - 6QL_Старосты /// 1 - УспеваемостьПИН-34 /// 2 - SQL_студентыИИхКафедры</param> /// <param name="_lofDelegate"></param> /// <param name="textBox"></param> public static void QueriesOther(fun1 qFun, int n) { Cn.Open(); try { OleDbCommand cmd = new OleDbCommand(); cmd.Connection = Database.Cn; switch (n) { case 0: cmd.CommandText = "EXEC 6QL_обновПредмет"; break; case 1: cmd.CommandText = "EXEC 6QL_добСтудент"; break; case 2: cmd.CommandText = "EXEC 6QL_удСтудент"; break; } cmd.ExecuteNonQuery(); Cn.Close(); } catch (Exception ex) { Cn.Close(); qFun(ex.Message); } }
/// <summary> /// Группы в которых больше 25 студентов /// </summary> /// <param name="qFun">функция вызываемая при отлове ошибок</param> /// <returns></returns> public static List <List <string> > More25Students(fun1 qFun) { string connectionString = @"Data Source=C:\\Users\\maksi\\source\\repos\\BD\\InvisibleYellowViolet;Initial Catalog=usersdb;Integrated Security=True"; DataContext db = new DataContext(connectionString); List <List <string> > lst = new List <List <string> >(); qFun += qFun; try { var groups = from gr in db.GetTable <Group>() where int.Parse(gr.StudentAmount) > 25 orderby gr.Number select gr; if (groups != null) { foreach (Group str in groups) { List <string> strlst = new List <string>(); strlst.Add(str.Number); strlst.Add(str.IdCatherda); strlst.Add(str.IdMonitor); strlst.Add(str.IdLaborUn); strlst.Add(str.StudentAmount); lst.Add(strlst); } } qFun(" "); return(lst); } catch (Exception ex) { qFun(ex.ToString()); return(lst); } }
/// <summary> /// update line in table /// </summary> /// <param name="n"> /// which table ( /// 0 - Cathedra /// 1 - Group /// 2 - Student /// 3 - Marks /// 4 - Semestr /// 5 - Subject /// )</param> public static void Delete(fun showFun, fun1 qFun, int n, params string[] textBox) { Cn.Open(); try { OleDbCommand cmd = new OleDbCommand(); cmd.Connection = Cn; switch (n) { case 0: cmd.CommandText = "DELETE FROM [Выпускающая кафедра] WHERE [Идентификатор_кафедры]=@ID"; cmd.Parameters.AddWithValue("@ID", textBox[0]); break; case 1: cmd.CommandText = "DELETE FROM [Группа] WHERE [Номер_группы]=@ID"; cmd.Parameters.AddWithValue("@ID", textBox[0]); break; case 2: cmd.CommandText = "DELETE FROM [Студент] WHERE [Номер_студенческого_билета]=@ID"; cmd.Parameters.AddWithValue("@ID", textBox[0]); break; case 3: cmd.CommandText = "DELETE FROM [Текущая_успеваемость] WHERE [Идентификатор_успеваемости]=@ID"; cmd.Parameters.AddWithValue("@ID", textBox[0]); break; case 4: cmd.CommandText = "DELETE FROM [Семестр] WHERE [Номер_семестра]=@ID"; cmd.Parameters.AddWithValue("@ID", textBox[0]); break; case 5: cmd.CommandText = "DELETE FROM [Предмет] WHERE [Идентификатор предмета]=@ID"; cmd.Parameters.AddWithValue("@ID", textBox[0]); break; } cmd.ExecuteNonQuery(); Cn.Close(); showFun(); } catch (Exception ex) { Cn.Close(); qFun(ex.Message); } }
/// <summary> /// queries without params /// </summary> /// <param name="showFun"></param> /// <param name="qFun"> /// </param> /// <param name="n"> /// 0 - 6QL_Старосты /// 1 - УспеваемостьПИН-34 /// 2 - SQL_студентыИИхКафедры</param> /// <param name="_lofDelegate"></param> /// <param name="textBox"></param> public static void QueriesWithoutParams(fun2 showFun, fun1 qFun, int n, LevelOffTableDelegate _lofDelegate, params string[] textBox) { try { switch (n) { case 0: showFun(Database.GetTableContents(Database.SelectQuery("6QL_Старосты"), _lofDelegate)); break; case 1: showFun(Database.GetTableContents(Database.SelectQuery("УспеваемостьПИН-34"), _lofDelegate)); break; case 2: showFun(Database.GetTableContents(Database.SelectQuery("SQL_студентыИИхКафедры"), _lofDelegate)); break; } } catch (Exception ex) { qFun(ex.Message); } }
/// <summary> /// update line in table /// </summary> /// <param name="n"> /// which table ( /// 0 - Cathedra /// 1 - Group /// 2 - Student /// 3 - Marks /// 4 - Semestr /// 5 - Subject /// )</param> public static void Update(fun showFun, fun1 qFun, int n, params string[] textBox) { Cn.Open(); try { OleDbCommand cmd = new OleDbCommand(); cmd.Connection = Cn; switch (n) { case 0: cmd.CommandText = "UPDATE [Выпускающая кафедра] SET " + "Полное_название = @FullName, Короткое_название = @ShortName, Декан = @Decan " + "WHERE Идентификатор_кафедры = @ID"; cmd.Parameters.AddWithValue("@FullName", textBox[1]); cmd.Parameters.AddWithValue("@ShortName", textBox[2]); cmd.Parameters.AddWithValue("@Decan", textBox[3]); cmd.Parameters.AddWithValue("@ID", textBox[0]); break; case 1: cmd.CommandText = "UPDATE Группа SET " + "Идентификатор_кафедры = @Cathedra, id_старосты = @Monitor, id_профорга = @LaborUn, Количество_студентов = @Quantity " + "WHERE Номер_группы LIKE @ID"; cmd.Parameters.AddWithValue("@Cathedra", textBox[1]); cmd.Parameters.AddWithValue("@Monitor", textBox[2]); cmd.Parameters.AddWithValue("@LaborUn", textBox[3]); cmd.Parameters.AddWithValue("@Quantity", textBox[4]); cmd.Parameters.AddWithValue("@ID", textBox[0]); break; case 2: cmd.CommandText = "UPDATE Студент SET " + "Номер_группы = @p2, Фамилия = @p3, Имя = @p4, Отчество = @p5, Дата_Рождения = @p6, Пол = @p7, Регион = @p8, [Проживание в общежитии] = @p9, Школа = @p10 " + "WHERE Номер_студенческого_билета LIKE @p1"; cmd.Parameters.AddWithValue("@p2", textBox[1]); cmd.Parameters.AddWithValue("@p3", textBox[2]); cmd.Parameters.AddWithValue("@p4", textBox[3]); cmd.Parameters.AddWithValue("@p5", textBox[4]); cmd.Parameters.AddWithValue("@p6", textBox[5]); cmd.Parameters.AddWithValue("@p7", textBox[6]); cmd.Parameters.AddWithValue("@p8", textBox[7]); cmd.Parameters.AddWithValue("@p9", textBox[8]); cmd.Parameters.AddWithValue("@p10", textBox[9]); cmd.Parameters.AddWithValue("@p1", textBox[0]); break; case 3: cmd.CommandText = "UPDATE [Текущая_успеваемость] SET " + "Номер_семестра = @p2, Идентификатор_предмета = @p3, Номер_студенческого_билета = @p4, Дата_проведения = @p5, Оценка = @p6 " + "WHERE Идентификатор_успеваемости LIKE @p1"; cmd.Parameters.AddWithValue("@p2", textBox[1]); cmd.Parameters.AddWithValue("@p3", textBox[2]); cmd.Parameters.AddWithValue("@p4", textBox[3]); cmd.Parameters.AddWithValue("@p5", textBox[4]); cmd.Parameters.AddWithValue("@p6", textBox[5]); cmd.Parameters.AddWithValue("@p1", textBox[0]); break; case 4: cmd.CommandText = "UPDATE Семестр SET " + "Начало = @Begin, Конец = @End, Количество_недель = @Time " + "WHERE Номер_семестра LIKE @ID"; cmd.Parameters.AddWithValue("@Begin", textBox[1]); cmd.Parameters.AddWithValue("@End", textBox[2]); cmd.Parameters.AddWithValue("@Time", textBox[3]); cmd.Parameters.AddWithValue("@ID", textBox[0]); break; case 5: cmd.CommandText = "UPDATE Предмет SET " + "[Название предмета] = @FullName, [Короткое название предмета] = @ShortName, [Количество часов] = @Time " + "WHERE [Идентификатор предмета] LIKE @ID"; cmd.Parameters.AddWithValue("@FullName", textBox[1]); cmd.Parameters.AddWithValue("@ShortName", textBox[2]); cmd.Parameters.AddWithValue("@Time", textBox[3]); cmd.Parameters.AddWithValue("@ID", textBox[0]); break; } cmd.ExecuteNonQuery(); Cn.Close(); showFun(); } catch (Exception ex) { Cn.Close(); qFun(ex.Message); } }
/// <summary> /// add line in table /// </summary> /// <param name="n"> /// which table ( /// 0 - Cathedra /// 1 - Group /// 2 - Student /// 3 - Marks /// 4 - Semestr /// 5 - Subject /// )</param> public static void Add(fun showFun, fun1 qFun, int n, params string[] textBox) { Cn.Open(); try { OleDbCommand cmd = new OleDbCommand(); cmd.Connection = Cn; switch (n) { case 0: cmd.CommandText = "INSERT INTO [Выпускающая кафедра] VALUES (@ID, @FullName, @ShortName, @Decan)"; cmd.Parameters.AddWithValue("@ID", textBox[0]); cmd.Parameters.AddWithValue("@FullName", textBox[1]); cmd.Parameters.AddWithValue("@ShortName", textBox[2]); cmd.Parameters.AddWithValue("@Decan", textBox[3]); break; case 1: cmd.CommandText = "INSERT INTO [Группа] VALUES (@ID, @Cathedra, @Monitor, @LaborUn, @Quantity)"; cmd.Parameters.AddWithValue("@ID", textBox[0]); cmd.Parameters.AddWithValue("@Cathedra", textBox[1]); cmd.Parameters.AddWithValue("@Monitor", textBox[2]); cmd.Parameters.AddWithValue("@LaborUn", textBox[3]); cmd.Parameters.AddWithValue("@Quantity", textBox[4]); break; case 2: cmd.CommandText = "INSERT INTO [Студент] VALUES (@p1, @p2,@p3,@p4,@p5,@p6,@p7,@p8,@p9,@p10)"; cmd.Parameters.AddWithValue("@p1", textBox[0]); cmd.Parameters.AddWithValue("@p2", textBox[1]); cmd.Parameters.AddWithValue("@p3", textBox[2]); cmd.Parameters.AddWithValue("@p4", textBox[3]); cmd.Parameters.AddWithValue("@p5", textBox[4]); cmd.Parameters.AddWithValue("@p6", textBox[5]); cmd.Parameters.AddWithValue("@p7", textBox[6]); cmd.Parameters.AddWithValue("@p8", textBox[7]); cmd.Parameters.AddWithValue("@p9", textBox[8]); cmd.Parameters.AddWithValue("@p10", textBox[9]); break; case 3: cmd.CommandText = "INSERT INTO [Текущая_успеваемость] VALUES (@p1, @p2,@p3,@p4,@p5,@p6)"; cmd.Parameters.AddWithValue("@p1", textBox[0]); cmd.Parameters.AddWithValue("@p2", textBox[1]); cmd.Parameters.AddWithValue("@p3", textBox[2]); cmd.Parameters.AddWithValue("@p4", textBox[3]); cmd.Parameters.AddWithValue("@p5", textBox[4]); cmd.Parameters.AddWithValue("@p6", textBox[5]); break; case 4: cmd.CommandText = "INSERT INTO [Семестр] VALUES (@ID, @Begin, @End, @Time)"; cmd.Parameters.AddWithValue("@ID", textBox[0]); cmd.Parameters.AddWithValue("@Begin", textBox[1]); cmd.Parameters.AddWithValue("@End", textBox[2]); cmd.Parameters.AddWithValue("@Time", textBox[3]); break; case 5: cmd.CommandText = "INSERT INTO [Предмет] VALUES (@ID, @FullName, @ShortName, @Time)"; cmd.Parameters.AddWithValue("@ID", textBox[0]); cmd.Parameters.AddWithValue("@FullName", textBox[1]); cmd.Parameters.AddWithValue("@ShortName", textBox[2]); cmd.Parameters.AddWithValue("@Time", textBox[3]); break; } cmd.ExecuteNonQuery(); Cn.Close(); showFun(); } catch (Exception ex) { Cn.Close(); qFun(ex.Message); } }