コード例 #1
0
        /// <summary>
        /// таблица как список строк
        /// </summary>
        /// <param name="query">запрос на получение таблицы</param>
        /// <returns>список строк талицы</returns>
        public static List <String> GetTableContents(string query, LevelOffTableDelegate _lofDelegate)
        {
            List <String> res = new List <String>();

            Cn.Open();
            try
            {
                OleDbCommand cmd = new OleDbCommand();
                cmd.Connection  = Cn;
                cmd.CommandText = query;
                OleDbDataReader rd;
                try
                {
                    rd = cmd.ExecuteReader();
                }
                catch (Exception)
                {
                    Cn.Close();
                    return(new List <string>()
                    {
                        "No such table"
                    });
                }
                if (rd.HasRows)
                {
                    string str = "";
                    List <List <string> > tableStr = new List <List <string> >();
                    List <string>         lst      = new List <string>();
                    int columns = rd.FieldCount;
                    for (int i = 0; i < columns; i++)
                    {
                        lst.Add(rd.GetName(i));
                    }
                    tableStr.Add(lst);
                    while (rd.Read())
                    {
                        List <string> lst1 = new List <string>();
                        for (int i = 0; i < columns; i++)
                        {
                            lst1.Add(rd[i].ToString());
                        }
                        tableStr.Add(lst1);
                    }
                    res = _lofDelegate(tableStr, columns);
                }
                Cn.Close();
                return(res);
            }
            catch
            {
                Cn.Close();
                return(new List <string>());
            }
        }
コード例 #2
0
        /// <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);
            }
        }