毕业设计(论文)-基于BS模式的学生成绩管理系统的设计.doc_第1页
毕业设计(论文)-基于BS模式的学生成绩管理系统的设计.doc_第2页
毕业设计(论文)-基于BS模式的学生成绩管理系统的设计.doc_第3页
毕业设计(论文)-基于BS模式的学生成绩管理系统的设计.doc_第4页
毕业设计(论文)-基于BS模式的学生成绩管理系统的设计.doc_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

郑州大学自考本科毕业论文 专业 姓名 准考证号 论文题目 年月日 学生成绩管理系统学生成绩管理系统的设计摘 要进入21世纪后,科学技术突飞猛进,信息时代的来临不仅让计算机在科技上得到应用,更让计算机在生活上得到了更广泛的应用,对如今的学校来说,实现电子信息化的办公是必然趋势,学校中的信息量主要体现在学生成绩的管理上面,因此学生成绩管理系统是一个教育单位不可缺少的部分。本毕业设计所描述的中学学生成绩管理系统是采用SSH作为网络编程框架,SQL Server 2000作为数据库编写的一个B/S模式的系统。系统主要实现了:用户管理、成绩查询、成绩管理和科目管理等功能。本文详细介绍了中学学生成绩管理系统的需求分析、功能设计和系统设计,在系统设计中给出数据库的设计和本系统的总体设计方案,在系统实现中具体介绍了各个功能的所能实现的情况和主要代码,同时附有运行界面图。关键字:成绩管理;成绩录入;成绩查询;SSH;B/S目录 1 引言111相关理论技术基础111. 1 B/S结构111. 2 SQL Server20002113 SSH技术32 需求分析521 功能需求6211 学生6212 教师6213 管理员622 性能需求63 系统设计63. 1 设计方案632数据库设计94 系统实现1041用户登录模块1042用户管理模块11421用户添加功能的实现11422 年级升级功能的实现12423 查询信息功能的实现1343成绩查询模块13431 学号查询功能的实现13432 姓名查询功能的实现15433 查询班级功能的实现16434查询班级某科平均分功能的实现1744成绩管理模块19441录入成绩功能的实现19442编辑成绩功能的实现2045科目管理模块21451科目录入功能的实现21452科目删除功能的实现225 系统测试225. 1测试环境:225. 2测试结果:22结 论23参考文献23致 谢241 引言在21世纪的科技时代,科学技术突飞猛进,计算机已经不仅是在科技上应用,而且在生活中也是同样得到了广泛在应用。如今,不管是小学、初中、高中、甚至是很多大学生的学生成绩管理基本上是靠人工进行管理,但随着时间的变化,学校规模的扩大,有关学生成绩管理工作和所涉及到的数据量越来越大越来越多,大多数学校不得不靠增加人力、物力、财力来进行学生成绩管理。一直以来使用传统人工的方式管理文件档案、填写各种表格,这种管理方式存在着许多缺点,如:效率低、保密性差,另外所用其时间长,产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,同时地点的限制也带来很大的麻烦。因此开发出一个学生成绩管理系统是必要的。当前各学校正在建立数字化校园,充分利用校园网的有利资源,已经实现了办公无纸化的数字化建设。但是,目前很多学校的电子办公设施并不完善,然而对于学校来说,成绩管理系统是一个学校不可缺少的部分,它的内容对于学校的决策者和管理者来说都至关重要,所以学生成绩管理系统应该能够为用户提供充足的信息和快捷的查询手段。在现阶段的学校管理工作中,学生成绩管理系统实现了由复杂、重复性、工操作向人机简便操作的转化,它运用计算机完成数据收集、修改、查询、删除以及统计等工作,提高了管理人员工作效率,避免繁重的业务量造成的人为错误学校作为教育与科技的先行者,那些先进的、优秀的技术往往会为学校所率先采用,网络技术也不外如此,优秀的学校管理决策者一定会选择或者自主开发一个适合本校校情的学生成绩管理系统利用计算机对学生成绩信息进行管理,具有手工管理所无法比拟的优点实现了对学生成绩信息的便捷化、无纸化管理,并且大大缩短了学校管理人员的维护成本和维护周期,提高了学校的办公效率。同时也是学校管理的科学化、正规化、与当代世界接轨的重要条件。因此,开发这样一个系统是很必要的事情。11相关理论技术基础11. 1 B/S结构由于互联网的发展,传统的C/S模式由于成本高以及维护复杂性已经较少见应用,而应用互联网技术的B/S模式正如日中天,加上我们已建和再建的设备,我们完全可以利用校园网取代以往传统的有纸方式B/S模式易于学习,易于实现,完全可以开发出更好更全面的管理系统B/S结构,即Browser/Server(浏览器/服务器)结构,是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户界面完全通过WWW浏览器实现,一部分事务逻辑在前端实现,但是主要事务逻辑在服务器端实现,形成所谓3-tier结构。B/S结构利用不断成熟和普及的浏览器技术实现原来需要复杂专用软件才能实现的强大功能,并节约了开发成本,是一种全新的软件系统构造技术。这种结构更成为当今应用软件的首选体系结构,M也是在这样一种背景下被提出来的架构B/S具备了很好的移动性,确保不同的使用者都能以最佳的方式来使用所需的系统,普通使用者只需要使用浏览器就可以在任何地方通过身份权限确认后就可以进行相关操作,极大的发挥了B/S结构的优点。同时支持跨平台管理,不论是什么平台,只要装有Web浏览器即可;分部无需安装和维护软件;可通过局域或者广域网实时监控和管理;支持Internet组网方式11. 2 SQL Server2000 Sqlserver2000是基于Sql客户服务器模式的数据库系统,图形化界面使数据库管理更加简捷、灵活,同时又具有丰富的编程接口,为用户从事程序开发提供了更多的方便Sqlserver是Microsoft开发和推广的关系数据库管理系统(DBMS),Sqlserver2000是Microsoft公司于2000年推出的版本,它是在Sqlserver7.0的基础上扩展升级的产品。Sqlserver2000是一款面向高端的数据库管理系统,它不仅继承了Sqlserver7.0版的性能、稳定性、便于管理和易于开发等优势,同时又具有许多新特性总之,Sqlserver2000已成为目前广为使用的数据库管理系统Sqlserver2000提供了以web标准为基础的扩展数据库编程功能丰富的XML和Internet标准支持允许用户使用内置的存储过程以XML格式轻松存储和检索数据用户还可以使用XML更新程序,容易地插入、更新和删除数据使用Sqlserver2000可以获得非凡的可伸缩性和可靠性通过向上伸缩和向外扩展的能力,Sqlserver满足了苛刻的电子商务和企业应用程序要求Sqlserver2000作为MEnterpriseServers的核心组件,它将减少电子商务和数据仓储存推向市场的时间,并对需要的环境提供了可靠的支持Sqlserver2000还提供了对XML(extensivemarkuplanguage,扩展标记语言)和HTTP的充分支持,具有强大的给予Web的分析能力,并且支持OLEDB和多种查询功能,同时还支持分布式的分区视图Sqlserver2000支持几乎各种类型的客户应用程序几乎可以用现有的任意开发平台编写应用程序来访问Sqlserver这就是说不管用什么语言编写的程序都可以用于Sqlserver对于Sqlserver来说,最适合的软件包是已发布的微软产品Visual studio,其中包括几种工具可供用户方便,迅捷地开发新的Sqlserver应用程序通过ODBC,几种第三方的软件包也可以用来开发在Sqlserver上运行的应用程序总之,Sqlserver在硬件、软件、客户许可证、管理费用、开发所需费用方面均比市场上其他RDBMS要低,是一个性能价格很高的RDBMS产品113 SSH技术 SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架。集成SSH框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的Web应用程序。其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,利用Hibernate框架对持久层提供支持,业务层用Spring支持。具体做法是:用面向对象的分析方法根据需求提出一些模型,将这些模型实现为基本的Java对象,然后编写基本的DAO接口,并给出Hibernate的DAO实现,采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问,最后由Spring完成业务逻辑。系统的基本业务流程是: 在表示层中,首先通过JSP页面实现交互界面,负责传送请求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将ActionServlet接收到的Request委派给相应的Action处理。在业务层中,管理服务组件的Spring IoC容器负责向Action提供业务模型(Model)组件和该组件的协作对象数据处理(DAO)组件完成业务逻辑,并提供事务处理、缓冲池等容器组件以提升系统性能和保证数据的完整性。而在持久层中,则依赖于Hibernate的对象化映射和数据库交互,处理DAO组件请求的数据,并返回处理结果。 采用上述开发模型,不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离。这样无论前端如何变化,模型层只需很少的改动,并且数据库的变化也不会对前端有所影响,大大提高了系统的可复用性。而且由于不同层之间耦合度小,有利于团队成员并行工作,大大提高了开发效率。 框架结构Struts对Model,View和Controller都提供了对应的组件。ActionServlet,这个类是Struts的核心控制器,负责拦截来自用户的请求。Action,这个类通常由用户提供,该控制器负责接收来自ActionServlet的请求,并根据该请求调用模型的业务逻辑方法处理请求,并将处理结果返回给JSP页面显示。Model部分由ActionForm和JavaBean组成,其中ActionForm用于封装用户的请求参数,封装成ActionForm对象,该对象被ActionServlet转发给Action,Action根据ActionFrom里面的请求参数处理用户的请求。JavaBean 则封装了底层的业务逻辑,包括数据库访问等。View部分该部分采用JSP(或HTML)实现。Struts提供了丰富的标签库,通过标签库可以减少脚本的使用,自定义的标签库可以实现与Model的有效交互,并增加了现实功能。对应上图的JSP部分。Controller组件Controller组件有两个部分组成系统核心控制器,业务逻辑控制器。 系统核心控制器,对应上图的ActionServlet。该控制器由Struts框架提供,继承HttpServlet类,因此可以配置成标注的Servlet。该控制器负责拦截所有的HTTP请求,然后根据用户请求决定是否要转给业务逻辑控制器。 SpringSpring是一个开源框架,它由Rod Johnson创建。它是为了解决企业应用开发的复杂性而创建的。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。 目的:解决企业应用开发的复杂性 功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能 范围:任何Java应用 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 轻量从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。 控制反转Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。 面向切面Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的完成业务逻辑仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。 容器Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。 框架Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。 所有Spring的这些特征使你能够编写更干净、更可管理、并且更易于测试的代码。它们也为Spring中的各种模块提供了基础支持。 HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。 Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五个核心接口分别加以介绍。 Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SQL语句。)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSession对象称为用户session。 SessionFactory接口:SessionFactory接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。 Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。 Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。 Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式。2 需求分析从用户的角度进行设计,将用户分为三类:学生、教师、管理员。特别是教师登录后,不同的科目的教师的登录身份是和自己所教授的科目相对应的,具体的说就是教师进入系统后只能录入自己科目下学生的成绩。管理员可以添加学生和老师用户和编辑用户信息;可以对学生进行升级处理;可以查询某个学生和某班的成绩情况;可以录入任意科目的成绩;可以添加、删除科目。教师可以查看个人信息,编辑个人信息;可以查询某个学生成绩和自己教授科目的某班学生成绩;可以统计某班某科目的平均成绩;可以录入自己教授科目的成绩。学生可以查看个人信息和编辑个人信息;可以查询自己的所有成绩。21 功能需求本系统通过三种用户类型使用学生成绩管理系统,不同类型用户所使用功能不同,管理员能够使用功能的权限最多。教师在成绩查询中能够使用功能最多。学生的功能最基本。系统功能主要包括以下几个部分:用户管理、成绩查询、成绩录入和科目管理。以下按照不同的用户类型对具体功能进行描述。211 学生学生在系统的基本功能是对自己所有成绩的查询和个人信息的查看和修改。212 教师教师在用户管理中能看到自己信息,编辑修改密码和个人信息;在成绩查询中能够按学号、或按姓名进行查询,可以查询某班学生的成绩并且成绩以排序成绩显示出来,可以统计某班学生某科成绩的平均分;在成绩管理中能够录入自己教授科目的成绩及编辑修改已录入成绩。213 管理员管理员在学生成绩管理系统中在用户管理中能够添加学生和教师,并能为学生、教师重设密码,能够编辑教师和学生信息,能够对学生进行升级;在成绩查询中能够对学生成绩管理系统具体的按学号、或按姓名进行查询;在成绩管理中能够按学号录入成绩、编辑修改成绩;在科目管理中能够添加科目,删除科目。22 性能需求整个系统应当操作简便,界面友好,维护简便。数据库要求运行稳定,执行速度快,数据安全性高。系统本身运行对计算机硬件平台和操作系统平台要求适中。3 系统设计3. 1 设计方案该学生成绩管理系统是用SSHSQL Server2000数据库作为后台,系统是基于Web的学生成绩管理系统,在系统中分为三种用户类型:学生、教师、管理员。主要有用户登录模块、用户管理模块、成绩查询模块、成绩管理模块和科目管理模块构成。用户登录模块功能:管理员和教师师通过工号和密码登录,学生通过学号和密码登录用户管理模块功能:能够添加教师师和学生用户类型,能够编辑修改密码、个人信息,能够查看用户信息。管理员可以对学生用户进行年级升级处理。成绩查询模块功能:能够按学号、姓名查询某个学生成绩,教师师能够查询某班学生自己教授科目的所有成绩,能够统计某班某科学生的平均成绩。成绩管理模块功能:能够录入成绩和编辑成绩。科目管理模块功能:能够添加科目,删除已添加的科目。总体功能图如图3-1:用户管理成绩查询成绩管理科目管理查某班平均成绩录入成绩添加科目登录功能成绩管理系统查某学生成绩添加用户年级升级查某班学生成绩查看用户信息 图3-1 总体功能图 学生子功能图如图3-2: 图3-2 学生子功能图教师子功能图如图3-3:图3-3 教师子功能图管理员子功能图如图3-4:图3-4 管理员子功能图32数据库设计根据需求分析,本系统后台数据库共分为4个表,以下分别给出各个数据库表的简单描述. 1Users表。该表是储存学生信息的表。表3-1 :Users表列名中文名称类型宽度是否允许为空ID编号int10NOT NULLUsernumber学号nvarchar20NOT NULLUserpass用户密码nvarchar20NOT NULLusertype用户类型nvarchar6NOT NULLGrade年级nvarchar10NOT NULLClass班级nvarchar10NOT NULLName姓名nvarchar10NOT NULLSex性别nvrchar2NOT NULLAge年龄nvarchar2NOT NULLPhone联系电话nvarchar20NOT NULL address家庭住址nvarchar50NOT NULL2Subject表。该表储存科目信息。表3-2:Subject表列名中文名称类型宽度是否允许为空Subject ID科目编号int10NOT NULLSubjectname科目nvarchar10NOT NULL3Achievement表。该表储存成绩信息。表3-3:Achievement表列名中文名称类型宽度是否允许为空ID编号int10NOT NULLUsernumber学号nvarchar50NOT NULLName姓名nvarchar50NOT NULLGrade年级nvarchar10NOT NULLClass班级nvarchar10NOT NULLSubjectname科目nvarchar10NOT NULLAchievement成绩int10NOT NULL4Admin表。该表储存的是管理员和教师信息。表3-4:Admin表列名中文名称类型宽度是否允许为空ID 编号int10NOT NULLUsernumber工号nchar20NOT NULLUserpass密码nvarchar50NOT NULLUsertype用户类型nvarchar10NOT NULLUsername姓名nvarchar50NOT NULLUserphone联系方式nvarchar11NOT NULLuserschool教授科目nvarchar50NOT NULL4 系统实现41用户登录模块用户分为三种类型:学生、教师、管理员。教师和管理员登录时有身份验证,当用户是学生时,直接输入用户名和密码,如果是教师和管理员登录时,除了输入用户名和密码,还要在下面的选项框中打钩,因为教师信息和管理员信息在同一张数据库表里。登录界面如图4-1:图4-1 用户登录界面当用户都进入系统后,都能看到一样的界面,但是学生只能进入用户管理和成绩查询的界面,教师可以进入用户管理、成绩查询和成绩管理的界面。管理员则可以全部进入。图4-2 管理页面42用户管理模块421用户添加功能的实现用户管理模块中的添加功能是管理员特有的功能,添加学生用户时,同时添加用户名(也就是学号)和初始密码,添加教师师时,同时确定教师教授的科目名,添加用户名(也就是工号)和初始密码. 图4-3 添加用户图422 年级升级功能的实现 由于学校学生每年年级升级的原因,所以系统针对这个问题设计了一个年级升级的功能,由此可以进行批量处理,更加方便。一、二年级的变成二、三年级,三年级的学生则显示为“已毕业”。图4-4 学生年级升级前的图 在点击了“学员升级”按钮后,如图4-5学生年级升级后的图:图4-5 学生年级升级后的图423 查询信息功能的实现个人信息查询功能是所有用户都可以使用的功能,并且可以编辑修改自己的信息。学生和教师进入用户管理后就可以看到自己的信息,管理员进入用户管理模块后除了可以看见自己信息还可以通过用户类型的选择看见所有学生和教师的信息。 43成绩查询模块431 学号查询功能的实现 学号查询由老师进行,主要代码如下:import java.sql.* ;public class DataBaseConnectionprivate final String DBDRIVER= com.microsoft.jdbc.sqlserver.SQLServerDriver ;private final String DBURL=jdbc: :microsoft:sqlserver:/localhost:1433 ;private final String DBUSER= root ;private final String DBPASSWORD= admin ;private Connection conn = null ;public DataBaseConnection()tryClass.forName(DBDRIVER) ;this.conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;catch (Exception e)public Connection getConnection()return this.conn ;public void close()trythis.conn.close() ;catch (Exception e);public List querySno(String sno)Connection conn;DriverManager dm;ResultSet rs;PrepareStatement ps;List list=null;String sql=”select * from achieve where Usernumber=”+sno;DataBaseConnection dc=new DataBaseConnection();Tryconn=dc. getConnection();ps=conn.prepareStatement();rs=ps.executeQuery(sql);list=new ArrayList();while(rs.next!=null)list.add(rs.getString(1);list.add(rs.getString(2);list.add(rs.getString(3);list.add(rs.getString(4);list.add(rs.getString(5); catche(Exception e)finallyConn.close();432 姓名查询功能的实现 和学号查询功能相似,主要代码如下Public void queryName(String Name)Connection conn;DriverManager dm;ResultSet rs;PrepareStatement ps; List list=null;String sql=”select * from achieve where Name =”+ Name;DataBaseConnection dc=new DataBaseConnection();conn=dc. getConnection();ps=conn.prepareStatement();rs=ps.executeQuery(sql);list=new ArrayList();while(rs.next!=null)list.add(rs.getString(1);list.add(rs.getString(2);list.add(rs.getString(3);list.add(rs.getString(4);list.add(rs.getString(5); catche(Exception e)finallyconn.close();433 查询班级功能的实现 在进行班级查询时,先用一个dropdownlist下拉框选择年级,再输入要查询的班级,如“二班”。老师查询时,显示的是教师教授科目下的班级全体学生的成绩,同时显示的结果是按成绩由高到低的顺序显示出来。管理员查询时,则显示所有科目的成绩。图4-6是语文老师查询某班的成绩所显示的结果:图4-6 查询班级图主要代码如下:Public void queryClass(String class)Connection conn;DriverManager dm;ResultSet rs;PrepareStatement ps;List list=null;String sql=”select * from achieve where Class =”+ class;DataBaseConnection dc=new DataBaseConnection();conn=dc. getConnection();ps=conn.prepareStatement();rs=ps.executeQuery(sql);list=new ArrayList();while(rs.next!=null)list.add(rs.getString(1);list.add(rs.getString(2);list.add(rs.getString(3);list.add(rs.getString(4);list.add(rs.getString(5); catch(Exception e)finallyConn.close();434查询班级某科平均分功能的实现班级平均分查询首先通过一个dropdownlist下拉框选好年级,输入要查询的班级,再有另一个dropdownlist下拉框选择要查询平均分的科目名称。但是如果用户是数学老师,他查询其他科目平均成绩时则只显示平均分,不显示具体的学生成绩情况列表。管理员没有查询平均分这个功能。图4-7 平均分查询图主要代码如下:public class QueryAvgBean()private String Usernumber;private String Name;private double Avgs;public void setUsernumber(String Usernumber)this.Usernumber=Usernumber;public String getUsernumber()return this.Usernumber;public void setName(String Name)this. Name=Name;public String getName ()return this. Name;public void setAvgs(double Avgs)this. Avgs=Avgs;public String getAvgs ()return this. Avgs;public void queryAvg(String class,String subject)Connection conn;DriverManager dm;ResultSet rs;PrepareStatement ps;List list=null;String sql=“select Usernumber,Name,avg(Achievement) as avgs from Achievement where Class=”+class+”and Subjectname=”+subject group by Usernumber,Name;DataBaseConnection dc=new DataBaseConnection();conn=dc. getConnection();ps=conn.prepareStatement();rs=ps.executeQuery(sql);list=new ArrayList();QueryAvgBean qb=new QueryAvgBean();while(rs.next!=null)qb.setUsernumber(rs.getString(“Usernumber”);qb.setName(rs.getString(“Name”);qb.setAvgs(rs.getString(“avgs”);list.add(qb); catche(Exception e)finallyconn.close();44成绩管理模块441录入成绩功能的实现录入成绩功能是只有教师可以实现,在输入学号后,光标移到成绩的文本框中时,在输入学号后会显示这个学生的姓名、年级、班级,以便可以核对学生信息防止输入错误的发生。教师只能录入自己教授科目的成绩,在录入成绩的同时,自动录入时间。有了录入时间就可以区别学生在不同学年同一科目的学习成绩。图4-8 录入成绩图主要代码如下:45科目管理模块public void SaveAchievement(String Usernumber,double achievement )Connection conn;DriverManager dm;PrepareStatement ps;List list=null;String sql=“insert into Achievement(Usernumber,Achievement) values (?,?)”;DataBaseConnection dc=new DataBaseConnection();conn=dc. getConnection();ps=conn.prepareStatement();ps.setString(1,Usernumber);ps.setString(2,class);ps.executeUpdate (sql);451科目录入功能的实现科目管理这一功能模块是管理员特有的功能权限,老师和学生都不能使用此功能。图4-9 添加科目图添加录入科目功能的实现:SubjectBean subjectBean=new SubjectBean();SubjectService sd=new

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论