工大助手--数据查询

工大助手--数据查询

实现功能



  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表示查询的结果。

时间: 2024-10-14 22:35:21

工大助手--数据查询的相关文章

工大助手--数据读取

工大助手--数据读取 实现功能 1)用户可选择获取入学以来所有已修课程的相关信息:课程代号.课程名.课程属性.学分.成绩等信息. 2)用户可选择获取特定已修课程的相关信息:课程代号.课程名.课程属性.学分.成绩等信息. 3)用户可获得特定时间段内的加权平均分(1学期.1学年.全部). 团队成员 13070003 张   帆 13070046 孙宇辰 13070004 崔   巍 13070006 王   奈 13070002 张雨帆 13070045 汪天米 数据读入 在上次博客中,我讲到了我所

违章查询助手数据调用分享

车辆违章对于有爱车的人来说是一个重要,在APP中集成车辆违章查询,违章查询助手数据调用支持查询违章时间.违章地点.违章行为等. 接口名称:违章查询助手数据调用 接口平台:聚合数据 接口地址:http://v.juhe.cn/wz/query 支持格式:json/xml/jsonp 请求方式:POST GET 请求示例:http://v.juhe.cn/wz/query?city=SH&hphm=苏L50A11&engineno=123456&key=key 违章查询助手数据调用JS

团队项目——工大助手界面(查询部分)

工大助手 基本内容 工大助手(桌面版) 实现登陆.查成绩.计算加权平均分等功能 团队人员 13070002 张雨帆 13070003 张帆 13070004 崔巍 13070006 王奈 13070045 汪天米 13070046 孙宇辰 界面设计(查询部分) 使用VS2013 C# WPF制作界面. 查询界面包括若干Label显示文字,4个ComboBox分别用于选择学年,学期,课程性质和学分,两个TextBox分别用于输入想要查找的课程的名称(支持模糊查询)和显示所查询的课程的加权平均分,一

工大助手--项目总结

工大助手--项目总结 实现功能 1)用户可选择获取入学以来所有已修课程的相关信息:课程代号.课程名.课程属性.学分.成绩等信息. 2)用户可选择获取特定已修课程的相关信息:课程代号.课程名.课程属性.学分.成绩等信息. 3)用户可获得特定时间段内的加权平均分(1学期.1学年.全部). 团队成员 13070003 张   帆 13070046 孙宇辰 13070004 崔   巍 13070006 王   奈 13070002 张雨帆 13070045 汪天米 总结 整个团队项目从策划到完成过程可

工大助手--加权平均分计算

工大助手--加权平均分计算 实现功能 1)用户可选择获取入学以来所有已修课程的相关信息:课程代号.课程名.课程属性.学分.成绩等信息. 2)用户可选择获取特定已修课程的相关信息:课程代号.课程名.课程属性.学分.成绩等信息. 3)用户可获得特定时间段内的加权平均分(1学期.1学年.全部). 团队成员 13070003 张   帆 13070046 孙宇辰 13070004 崔   巍 13070006 王   奈 13070002 张雨帆 13070045 汪天米 加权平均分计算 在计算加权平均

工大助手--C#之DataGrid

工大助手 基本内容 工大助手(桌面版) 实现登陆.查成绩.计算加权平均分等功能 团队人员 13070002 张雨帆 13070003 张帆 13070004 崔巍 13070006 王奈 13070045 汪天米 13070046 孙宇辰 C#之DataGrid 我在团队项目中负责的部分是客户端的界面制作.其中我需要在用户查询信息时把用户需要的信息展现出来.这里我使用了DataGrid,我认为使用DataGrid显示数据是十分方便的,所以在此我来总结一下DataGrid的使用. DataGrid

工大助手--C#之DataTable

工大助手--C#之DataTable 实现功能 1)用户可选择获取入学以来所有已修课程的相关信息:课程代号.课程名.课程属性.学分.成绩等信息. 2)用户可选择获取特定已修课程的相关信息:课程代号.课程名.课程属性.学分.成绩等信息. 3)用户可获得特定时间段内的加权平均分(1学期.1学年.全部). 团队成员 13070003 张   帆 13070046 孙宇辰 13070004 崔   巍 13070006 王   奈 13070002 张雨帆 13070045 汪天米 C#之DataTab

MongoDB数据查询

启动MongoDB:sudo service mongodb start,mongo 经测试,键可加引号也可不加,但是值一般要加引号,数值类型除外 MongoDB区分大小写,命名通常采用驼峰式命名法 MongoDB在使用数据库,插入集合等情况下,若数据库/集合不存在将自动创建 数据查询find() db.<集合名>.find({<键名>:<值>,...}) 格式化结果集:后加.pretty()即db.<CollectionName>.find({key:'v

用python操作mysql数据库(之数据查询结果返回字典类型)

#!/usr/bin/env python # -*- coding: utf-8 -*- import MySQLdb #建立连接 conn = MySQLdb.connect(host='127.0.0.1',user='root',passwd='1qaz#EDC',db='test_db') cur = conn.cursor(MySQLdb.cursors.DictCursor) #建立游标时,加上"MySQLdb.cursors.DictCursor",让数据查询结果返回字