zoukankan      html  css  js  c++  java
  • 工大助手--数据查询

    工大助手--数据查询

    实现功能


     

      1)用户可选择获取入学以来所有已修课程的相关信息:课程代号、课程名、课程属性、学分、成绩等信息。

      2)用户可选择获取特定已修课程的相关信息:课程代号、课程名、课程属性、学分、成绩等信息。

      3)用户可获得特定时间段内的加权平均分(1学期、1学年、全部)。

    团队成员


     

      13070003  张   帆

      13070046  孙宇辰

      13070004  崔   巍

      13070006  王   奈

      13070002  张雨帆

      13070045  汪天米

     数据查询


      由于有了DataTable这一结构,所以这一部分处理起来主要的工作重心就放在方法的鲁棒性上。对于此方法,执行的流程就是用户传入一个查询串,方法返回正确的查询结果。在这个过程中,我考虑到的出错点有如下几种:

        1、在之前一步读入数据时未成功导入,导致查询时出错。

        2、查询过程中出现错误

        3、查询结果为空

      所以,我在代码的实现的对上述三个方面进行了处理,代码如下:

        #region ----------查询数据----------
        /// <summary>
        ///     查询数据
        /// </summary>
        /// <param name="queryString">查询命令</param>
        /// <param name="queryResult">查询结果</param>
        /// <returns>查询成功与否</returns>
        public static bool QueryData(String queryString, out DataTable queryResult)
        {
            //初始化DataTable
            queryResult = new DataTable();
            queryResult.Columns.Add("学年", typeof(string));
            queryResult.Columns.Add("学期", typeof(string));
            queryResult.Columns.Add("课程名称", typeof(string));
            queryResult.Columns.Add("课程性质", typeof(string));
            queryResult.Columns.Add("学分", typeof(string));
            queryResult.Columns.Add("绩点", typeof(string));
            queryResult.Columns.Add("成绩", typeof(string));
            //如果数据被成功导入,则执行查询操作
            if (hasLoadData)
            {
                //查询信息为“*”意味着查询全部成绩信息
                if (queryString.Equals("*"))
                {
                    queryResult = gradesTable;
                    return true;
                }
                 //否则按照条件查询
                try
                {
                    //获取查询结果
                    DataRow []tmpQureResult = gradesTable.Select(queryString);
    
                    //未查到匹配信息则弹窗示意
                    if (tmpQureResult == null || tmpQureResult.Length == 0)
                        MessageBox.Show("无查询匹配项!");
                        //Console.WriteLine("无查询匹配项!");
                        
                    //否则将结果存入queryResult中
                    else
                        foreach (DataRow dr in tmpQureResult)
                            queryResult.Rows.Add(dr.ItemArray);
                    return true;
                }
                catch(Exception e)
                {
                    MessageBox.Show(e.Message);
                    //Console.WriteLine("{0}",e.Message);
                    return false;
                }
            }
            else
            {
                MessageBox.Show("[ERROR]Grades data hasn't loaded successfully.");
                //Console.WriteLine("[ERROR]Grades data hasn't loaded successfully.");
                return false;
            }
        }
        #endregion

      在这段代码中,我先初始化queryResult用来后续存储结果,先判断excel数据是否成功导入,如果导入成功则执行查询,将结果保存,否则报错。查询完毕后,如果查询结果为空,则报相应的错误,否则正常返回。函数返回值类型为bool,代表查询过程是否成功执行并结束。输入queryString表示查询语句,输出queryResult表示查询的结果。

     

  • 相关阅读:
    汉语-词语:慧根
    汉语-词语:悟性
    汉语-汉字:耑
    汉语-汉字:羣
    汉语-词语:觉察
    汉语-词语:醒悟
    汉语-词语:觉悟
    Redhat 5禁止IPv6
    从缓存行出发理解volatile变量、伪共享False sharing、disruptor
    【故障处理141119】一次数据库不繁忙时一条sql语句2个运行计划导致业务超时的故障处理
  • 原文地址:https://www.cnblogs.com/fanfan-blogs/p/5601765.html
Copyright © 2011-2022 走看看