基于Asp的成绩管理系统成绩排名实现

点赞:5244 浏览:16193 近期更新时间:2024-04-02 作者:网友分享原创网站原创

摘 要:网上成绩管理系统已经成为很多学校管理成绩、公布成绩、查询成绩的一个重要工具.然而,网上成绩录入无疑会增加教师的工作量.如果系统能自动生成成绩质量分析表,那么网上录入成绩工作便会成为教师乐于做的事情.在自动生成质量分析表的功能里,排名是比较难实现的一部分,主要通过研究动态变量名的方式来实现排名.

关 键 词:Asp;动态变量名;数据表

中图分类号:TP319文献标识码:A文章编号:16727800(2013)004008502

0引言

笔者对原有的学校成绩管理系统进行改进,以方便教师和学生的使用.原成绩管理系统是用Asp语言编写,包括管理员、教师、学生等不同角色的功能.在改进过程中,笔者增加了一个对教师实用的功能——自动生成成绩质量分析表,其中包括学生成绩的浏览、排名、实考人数、缺考人数、最高分、最低分、平均分、优秀率、及格率以及各分数段的人数、百分比等.这样便可省下教师手动统计的很多时间和精力,使得成绩管理系统的成绩网上录入工作不会变成教师的额外负担,反而让教师乐于使用.但在实现成绩排名这一功能时却碰到了障碍,即要在一个网页中同时显示学生信息、成绩、名次,为此研究如下.

基于Asp的成绩管理系统成绩排名实现参考属性评定
有关论文范文主题研究: 关于数据库的论文范文数据库 大学生适用: 高校大学论文、专升本论文
相关参考文献下载数量: 66 写作解决问题: 写作资料
毕业论文开题报告: 论文任务书、论文题目 职称论文适用: 期刊发表、高级职称
所属大学生专业类别: 写作资料 论文题目推荐度: 优质选题

1问题分析

在数据库中创建一个成绩表c1,其表结构如下:

CREATETABLEc1(xhchar(5),bjchar(20),xqchar(20),kcchar(20),cjchar(10));

各字段的含义分别为:xh表示学号,bj表示班级,xq表示学期,kc表示课程名称,cj表示成绩.

笔者设计几种实现成绩排名的方法,但是都放弃了.

第一种,采用从数据表中读取一个成绩,然后查询成绩表中大于该成绩的学生数,得到该成绩的名次,然而这种方法对于一个班级来说排一次名需要读取数据库五六十次.

第二种,采用将所有学生成绩从数据库读取出来之后再排名,直接在Asp页面中实现.首先想到定义一个数组来存储成绩,但是却难以将成绩、学号以及名次三者很好地对应起来.

第三种,采用将学号比如“08101”的最后两位截取出来作为数组的下标,同时通过字符串的重新组合还原回原学号,然而这种方法也不通用,如果学号的编号方式不一样,则代码也需要改动.这种方法也不理想.

最后,拟用动态变量名来存储名次,比如通过定义一个“i_08101”变量来存储学号“08101”的名次,那么获取学生的名次,就可以直接用“i_08101”变量直接获取,方便快捷.而实现的关键在于如何将“i_”和学号字符串连接起来作为一个变量来存储名次,通过搜索资料发现采用Execute方法和Eval函数结合使用,可以实现这一关键功能.

主要分为两个步骤:用Execute合并字符串成变量并赋值,再用eval把这个变量里的值读出来.第一步,构建动态变量名并赋值:Execute("i_"&rs_count("xh")&"等于"&i_mc_temp).其中,i_mc_temp为计算出来的该学号对应的名次;第二步,读取变量的值:Eval("i_"&rs_danke("xh")).


2具体实现过程

3结语

根据调查,成绩管理系统在教师的实际应用中普遍反映不错,网上成绩录入工作不仅没有成为教师的额外负担,反而成为教师教学的得力助手,有利于教师宏观分析班级期末成绩,教师也就乐于使用该项功能.