基于Java与SQL数据库技术的学生成绩管理系统_
东南大学计算机Java作业成绩管理系统

东南大学题目学生成绩管理系统学院计算机学院专业班别学号姓名摘要随着网络通信技术的迅速发展和信息技术的广泛应用,计算机的应用已普及到经济和社会生活的各个领域。
教育领域也不例外,现今已经出现了各种远程网络在线教育系统、图书管理系统、学籍管理系统,学生成绩管理系统等。
其中成绩管理系统是任一院校都不可缺少的部分,它的内容对于学校的决策者和教育管理者来说都是至关重要,而传统的人工管理方式效率较低,为数据的查询、更新和维护带来了极大的不便。
所以学生成绩管理信息系统的开发和应用是必要的,它能够为管理人员提供充足的信息和快捷的查询手段,提高学校学生成绩管理的效率。
本文的学生成绩管理系统是给予C/S模型的,它提供了强大的学生成绩管理功能,方便系统管理员对学生成绩等信息的添加、修改、删除、查询等操作,同时一样的方便学生对自己各科成绩查询,学习的交流。
本系统也主要利用java语言和SQLserver2005实现,因此它具有很强的可移植性,很方便。
关键字:学生成绩管理系统java JDBC SQL jxl.jarAbstractAlong with the fast development of network communication technology and the wide application of information technology, the computer application to the economical and social life each domain. Education is no exception, now has a variety of remote network education system, library management system, student management system, student achievement management system. The performance management system is one of the institutions are an indispensable part, its contents for the policy makers and school education managers is critical, and the traditional manual management mode is the low efficiency, data query, update and maintenance has brought great inconvenience. So the student achievement management information system development and application is necessary, it can provide adequate staff for management information and the quick inquiry method, improve student achievement school management efficiency.The student achievement management system is given by C / S model, which provides a powerful student achievement management functions, the system administrator to facilitate student achievement and other information to add, modify, delete, query and other operations, like the convenience of their students all query results, learning exchanges. This system is mainly the use of Java language and SQLserver2005 to achieve, so it has strong portability, very convenient.Keywords: student achievement management system for Java JDBC SQL jxl.jar目录Abstract (2)Keywords: student achievement management system for Java JDBC SQL jxl.jar (3)第一章绪论 (5)1.1 背景 (5)1.2基于B/S结构技术的应用 (6)第二章需求分析 (7)2.1 开发目标 (7)2.2项目的意义 (7)2.3可行性分析 (8)2.3.1 经济上可行性 (8)2.3.2 技术上可行性 (8)2.3.3 操作可行性 (9)2.4主要研究内容 (9)2.5系统环境需求 (9)第三章系统分析 (10)3.1 系统分析 (10)3.2 应解决的问题 (11)3.2.1合理的设计数据库 (11)3.2.2设计出友好的界面 (11)3.2.3实现的基本功能 (11)3.3 系统调查 (12)3.3.1 统计数据源 (12)3.3.2 功能调查 (12)3.3.3查询结果输出形式 (12)3.4 系统模块结构图 (13)3.5 系统业务流程图 (13)3.5.1 系统总业务流程图 (14)3.5.2 登录业务流程图 (15)第四章数据库设计 (15)4.1 数据库系统分析 (15)4.2 调查结果 (18)4.2.1 功能需求 (18)4.2.2 数据字典 (18)4.2.3数据库表的具体设计 (18)第五章系统功能和代码编写 (20)5.1系统模型实际 (20)5.1.1系统主界面 (22)5.1.2 学生添加界面 (24)5.1.3 学生添加界面 (26)5.1.4 选修课添加界面 (29)5.1.5学生界面 (32)5.1.6个人信息 (33)第六章系统测试 (36)6.1 测试准备 (36)6.2 测试的目标 (36)6.3 测试方法 (37)6.3.1 功能测试 (37)6.3.2 性能测试 (37)6.3.2 界面测试 (38)6.4 测试技术 (38)第七章结束语 (39)致谢 (40)参考文献 (41)第一章绪论1.1 背景现在的社会日新月异,发展的非常快。
计算机毕业论文_基于JAVA的学生成绩管理系统的设计与实现

基于JA V A的学生成绩管理系统的设计与实现THE DESIGN AND REALIZATION OF THE RESULT OF STUDENT ADMINISTRATION MANAGEMENT SYSTEM ON THE JA V A学生姓名:学号:年级专业:指导老师:学院:提交日期:2009年11月目录摘要 2前言 41 需求分析 41.1 功能需求分析 41.2 性能需求分析 51.3 数据库需求分析――数据流图 51.4数据结构分析――数据流图 62概要结构设计 92.1系统功能结构设计 92.2 数据库概念结构设计 103逻辑结构设计 104详细设计及功能实现 114.1模块设计与实现 115总结 21参考文献 21致谢 21基于Java的学生成绩管理系统的设计与实现作者:周亚平指导老师:陈义明(湖南农业大学科学技术师范学院2004级计算机科学与技术专业教育班,长沙410128)摘要:随着计算机技术的飞速发展和高等教育体制改革的不断深入,传统教育管理方法、手段以及工作效率已不能适应新的发展需要,无法很好地完成教学管理工作。
提高教学管理水平的主要途径是更新管理者的思想,增强对管理活动的科学认识。
基于Java与SQL server 数据库技术建立一个高校成绩管理系统该系统为管理员、学生和教师提供了查询、修改、增加记录、删除等功能,功能比较落齐全,基本上能满足学生和老师的要求。
关键词:Java;需求分析;概要设计;学生成绩管理系统;The Design And Realization Of the educational administration management system Based On JA V AAuthor: Zhou yappingTutor: Chen yiming(School of Information Science technique normal school,Hunan AgriculturalUniversity,Changsha, 410128)Abstract: Fly technically along with the calculator to develop soon and the higher education system reform of continuously thorough, traditional education management the method, means and work efficiencies have already can't adapt the new development demand, can't complete the teaching management work nicely.The main path that raises the educational administration management level is a thought that renews the governor, strengthenning the science understanding to manage the activity.According to the JA V A build up that system of an educational administration of high school management system's pursue studies with the database technique to living to provided the search, modify, save, increase the record and select elective courses etc. with teacher function, the function relatively falls well-found, can satisfy the request between student and teacher basically.Keyword:JA V A; The need analysis; The essentiadesign; Database; Detailed design前言学生成绩管理工作是高校教育工作的一项重要内容。
基于java web的学生管理系统的设计与实现

基于Java Web的学生管理系统的设计与实现摘要本文旨在介绍一个基于Java Web的学生管理系统的设计与实现。
学生管理系统是一个常见的管理信息系统,用于管理学校、大学或其他教育机构中的学生信息。
通过使用Java Web技术,我们可以方便地实现学生信息的增删改查等功能,并提供友好的用户界面供管理员和教师使用。
1. 引言学生管理系统是一种管理信息系统,用于管理学生在学校的信息,包括个人信息、课程信息、成绩信息等。
传统的学生管理系统主要依靠纸质档案和人工管理,效率低下且易出错。
因此,开发一个基于Java Web的学生管理系统,能够方便快捷地管理学生信息,提高管理效率,减少错误。
2. 系统需求学生管理系统的功能需求主要包括以下几个方面:•学生信息管理:包括学生的基本信息,如姓名、性别、年龄等。
•课程管理:包括课程的添加、编辑和删除等操作。
•成绩管理:包括学生成绩的录入和查询等操作。
•班级管理:包括班级的添加、编辑和删除等操作。
3. 系统设计与实现3.1 技术选择本系统选择使用以下技术进行设计与实现:•前端技术:HTML、CSS、JavaScript、Bootstrap等。
•后端技术:Java、Spring MVC、MyBatis等。
•数据库:MySQL。
3.2 系统架构学生管理系统采用MVC(Model-View-Controller)架构模式,将系统的功能分成不同的模块,实现解耦和灵活性。
•模型(Model):负责处理与数据相关的逻辑,包括数据的存储、提取和处理。
•视图(View):负责展示数据给用户,并接收用户的输入。
•控制器(Controller):负责接收用户输入的请求,并根据请求调用相应的模型和视图。
3.3 数据库设计学生管理系统的数据库设计主要包括以下几个表:•学生表(students):包括学生的基本信息,如学号、姓名、性别、年龄等。
•课程表(courses):包括课程的信息,如课程编号、课程名称、学分等。
基于java的学生成绩管理系统的设计与实现

文章标题:基于Java的学生成绩管理系统的设计与实现一、引言学生成绩管理系统是学校管理系统中的重要组成部分,它可以帮助学校、老师和学生高效地管理和查询学生成绩信息。
基于Java的学生成绩管理系统的设计与实现是一个重要的课题,本文将从深度与广度两个角度来探讨这个主题。
二、学生成绩管理系统的基本要求学生成绩管理系统需要满足以下基本要求:1)能够实现学生信息的录入、修改和删除;2)能够实现课程信息的录入、修改和删除;3)能够实现成绩信息的录入、修改和删除;4)能够实现成绩的统计和排名功能;5)能够实现成绩的查询和导出功能。
三、基于Java的学生成绩管理系统的设计与实现1. 系统架构设计学生成绩管理系统可以采用三层架构设计,即用户界面层、业务逻辑层和数据访问层。
用户界面层负责与用户的交互,业务逻辑层负责处理业务逻辑,数据访问层负责与数据库进行交互。
2. 数据库设计数据库设计是学生成绩管理系统中的关键环节,需要设计学生信息表、课程信息表和成绩信息表,并建立它们之间的关联关系。
3. 功能模块设计学生成绩管理系统的功能模块包括学生信息管理、课程信息管理、成绩信息管理、成绩统计和排名以及成绩查询和导出功能。
四、基于Java的学生成绩管理系统的个人观点我认为基于Java的学生成绩管理系统的设计与实现不仅可以提高学校管理效率,也可以帮助老师更好地了解学生的学习情况,同时也能够让学生更方便地查询自己的成绩信息。
这个系统可以为学校管理和教学工作提供很大的便利,是非常值得推广和应用的。
五、总结与展望通过本文的探讨,我们深入了解了基于Java的学生成绩管理系统的设计与实现,从系统架构设计、数据库设计,功能模块设计等方面进行了全面的评估。
我们也共享了个人观点和理解。
希望本文能够为读者提供有价值的信息,同时也为学生成绩管理系统的推广应用提供一些借鉴和思路。
六、个人观点通过本次的撰写,我对基于Java的学生成绩管理系统的设计与实现有了更深入的了解,同时也对系统架构设计、数据库设计、功能模块设计等方面有了更全面的认识。
学生信息管理系统java课程设计(含源代码)

JAVA 程序设计 课程设计陈述宇文皓月课 题: 学生信息管理系统 姓 名: 学 号: 同组姓名: 专业班级: 指导教师: 设计时间:目 录1、需要实现的功能32、设计目的3 1、功能模块划分32、数据库结构描述43、系统详细设计文档64、各个模块的实现方法描述95、测试数据及期望结果11一、系统描述1、需求实现的功能1.1、录入学生基本信息的功能学生基本信息主要包含:学号、姓名、年龄、出生地、专业、班级总学分,在拔出时,如果数据库已经存在该学号,则不克不及再拔出该学号。
1.2、修改学生基本信息的功能在管理员模式下,只要在表格中选中某个学生,就可以对该学生信息进行修改。
评阅意见:评定成绩:指导老师签名:年 月 日1.3、查询学生基本信息的功能可使用“姓名”对已存有的学生资料进行查询。
1.4、删除学生基本信息的功能在管理员模式下,只要选择表格中的某个学生,就可以删除该学生。
1.5、用户登陆用分歧的登录权限可以进入分歧的后台界面,从而实现权限操纵。
1.6、用户登陆信息设置可以修改用户登陆密码2、设计目的学生信息管理系统是一个教育单位不成缺少的部分。
一个功能齐全、简单易用的信息管理系统不单能有效地减轻学校相关工作人员的工作负担,它的内容对于学校的决策者和管理者来说都至关重要。
所以学生信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案、统计和查询数据,这种管理方式存在着许多缺点,如:效率低、保密性差、人工的大量浪费;另外时间一长,将发生大量的文件和数据,这对于查找、更新和维护都带来了很多困难。
随着科学技术的不竭提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。
作为计算机应用的一部分,使用计算机对学校的各类信息进行管理,具有手工管理无法比较的优点。
例如:检索迅速、查询方便、效率高、可靠性好、存储量大、保密性好、寿命长、成本低等。
基于Java的智慧校园管理系统设计与实现

基于Java的智慧校园管理系统设计与实现智慧校园管理系统是一种基于信息技术的校园管理平台,旨在提高学校管理效率、优化资源配置、改善教学环境,为师生提供更便捷、高效的服务。
本文将介绍基于Java语言开发的智慧校园管理系统的设计与实现。
一、系统需求分析1.1 功能需求智慧校园管理系统应包括学生信息管理、教师信息管理、课程管理、考勤管理、成绩管理、图书馆管理、校园卡管理等功能模块。
其中,学生信息管理包括学生基本信息录入、修改和查询;教师信息管理包括教师基本信息录入、修改和查询;课程管理包括课程信息录入、修改和查询;考勤管理包括学生考勤记录的录入和查询;成绩管理包括学生成绩录入和查询;图书馆管理包括图书借阅和归还等功能;校园卡管理包括充值、消费记录查询等功能。
1.2 性能需求智慧校园管理系统需要具有良好的性能,能够支持大量并发用户访问。
系统响应速度应快,界面友好,操作简单方便。
同时,系统应具备较高的稳定性和安全性,能够保障数据的完整性和机密性。
二、系统设计2.1 系统架构智慧校园管理系统采用B/S架构,即浏览器/服务器架构。
前端使用HTML、CSS、JavaScript等技术实现页面展示和用户交互,后端采用Java语言编写业务逻辑处理和数据存取代码。
数据库采用MySQL 进行数据存储。
2.2 模块设计系统主要分为前台模块和后台模块。
前台模块包括学生端和教师端,提供学生和教师登录、个人信息查看、课程查询、成绩查询等功能;后台模块包括管理员端,提供用户权限管理、数据维护、系统配置等功能。
三、系统实现3.1 开发工具系统开发使用Eclipse作为集成开发环境,使用Tomcat作为Web 服务器,使用MySQL作为数据库。
3.2 技术选型系统采用Spring框架实现业务逻辑控制,采用Spring MVC框架实现前后端交互,采用MyBatis框架实现数据持久化操作。
同时,使用Bootstrap框架实现页面布局和样式设计。
基于JAVA的学生学籍管理系统毕业设计论文(含源文件) 精品

题目:基于JA V A的学生学籍管理系统毕业论文(设计)评语及成绩论文类型:软件开发型评语:指导教师(签字)年月日评语及评分成绩:答辩委员会主席(签字)年月日院(系)学位评定委员会意见:签字:年月日学校学位评定委员会意见:签字:年月日目录内容摘要............................................................... - 4 -引言................................................................... - 4 - 学生学籍管理系统开发的意义和目的................................... - 4 - 国内研究现状和应用前景............................................. - 4 - 研究课题主要内容................................................... - 5 - 第1章需求分析...................................................... - 6 - 第2章系统分析...................................................... - 7 -2.1. 结构选择:B/S ................................................. - 7 -2.2. 编程语言选择:JSP/JAVA ........................................ - 7 -2.3. 数据库选择:MySQL ............................................. - 8 -2.4. 应用服务器选择:Tomcat ........................................ - 8 -2.5. 开发工具选择:Eclipse ......................................... - 9 -2.6. 图表制作工具选择:Microsoft Office Visio ..................... - 10 - 第3章总体设计..................................................... - 12 -3.1. 主要功能..................................................... - 12 -3.2. 系统功能模块图............................................... - 12 -3.3. 主要功能系统流程图........................................... - 13 -3.4. 数据库设计................................................... - 13 - 第4章详细设计..................................................... - 14 -4.1. 数据库结构及语句............................................. - 14 -4.2. 整体布局..................................................... - 18 -4.3. 登陆页面..................................................... - 18 -4.4. 用户管理-学生管理............................................ - 18 -4.5. 用户管理-教师管理............................................ - 18 -4.6. 课程管理..................................................... - 18 -4.7. 成绩管理..................................................... - 19 -4.8. 系统管理..................................................... - 19 - 第5章部署指南..................................................... - 20 -5.1. JAVA运行时环境 .............................................. - 20 -5.2. 数据库....................................................... - 23 -5.3. 应用服务器................................................... - 32 - 第6章操作指南..................................................... - 33 -6.1. 系统管理..................................................... - 33 -6.2. 用户管理..................................................... - 36 -6.3. 课程管理..................................................... - 38 -6.4. 成绩管理..................................................... - 39 - 第7章结论......................................................... - 41 - 第8章参考文献. (1)8.1. 著作图书文献 (1)8.2. 译著图书文献 (1)8.3. 学术刊物文献 (1)8.4. 西文文献 (1)第9章后记 (2)第10章附录 (3)- 1 -内容摘要当今社会中,计算机的使用已经深入到日常工作和生活的方方面面。
软件工程课程设计(学生成绩管理系统)

软件工程课程设计(学生成绩管理系统)软件工程课程设计(学生成绩管理系统)一、引言随着教育信息化的发展,学生成绩管理系统在高校中得到了广泛应用。
本文将介绍基于软件工程的课程设计,以开发一个学生成绩管理系统为例,详细说明其设计和实现过程。
二、需求分析1. 功能需求学生成绩管理系统应具备以下功能:- 学生信息管理:包括学号、姓名、班级等基本信息的录入、查询和修改;- 课程信息管理:包括课程编号、课程名称、学分等信息的录入、查询和修改;- 成绩管理:包括学生选课、成绩录入、查询和修改;- 统计分析:包括班级、课程和学生的成绩统计和分析;- 报表生成:根据学生、课程和班级等条件生成成绩报表。
2. 性能需求学生成绩管理系统应满足以下性能需求:- 系统响应时间应快,用户操作流畅;- 系统应具备较好的扩展性,能够适应学生数量和课程数量的增长;- 数据库读写性能稳定,保证系统的稳定性和可靠性。
三、系统设计1. 系统架构本学生成绩管理系统采用B/S架构,即浏览器(Browser)和服务器(Server)架构,由于其开发和维护成本低、跨平台性好等优点,适合大规模应用。
系统主要包括前端展示界面和后端数据处理以及数据库存储模块。
前端展示界面采用HTML、CSS和JavaScript技术实现,使用户能够直观地操作系统。
后端数据处理和数据库存储模块采用Java语言开发,通过Servlet技术与前端界面进行数据交互,并将数据存储到数据库中。
2. 数据库设计数据库采用关系型数据库MySQL进行存储,系统中数据的组织结构如下:- 学生表(Student):包含学生的学号、姓名、班级等信息;- 课程表(Course):包含课程的编号、名称、学分等信息;- 成绩表(Grade):包含学生的学号、课程编号、成绩等信息。
四、系统实现1. 前端开发前端界面开发主要包括学生信息管理、课程信息管理、成绩管理、统计分析和报表生成等功能的实现。
通过HTML、CSS和JavaScript技术实现页面的布局和交互,使用户能够方便地进行操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录设计总说明 --------------------------------------------------------------II 1. 课程设计目的与需求分析 ------------------------------------------------3 1.1 课程设计目的 ------------------------------------------------------31.2 需求分析 ----------------------------------------------------------32. 设计思路与主功能设计 --------------------------------------------------4 2.1 设计思路 ----------------------------------------------------------4 2.1.1 开发环境和软件 ------------------------------------------------42.1.2 数据库表结构 --------------------------------------------------42.1.3 程序设计图 ----------------------------------------------------42.2 功能设计与介绍 ----------------------------------------------------53. 具体功能的介绍和数据测试 ----------------------------------------------5 3.1 登录界面 ----------------------------------------------------------5 3.2 主功能界面 --------------------------------------------------------7 3.2.1 查询 ----------------------------------------------------------7 3.2.2 添加 ----------------------------------------------------------9 3.2.3 修改 ---------------------------------------------------------10 3.2.4 删除 ---------------------------------------------------------12 3.2.5 关于 ---------------------------------------------------------133.2.6 退出 ---------------------------------------------------------134. 课程设计总结 ---------------------------------------------------------145. 附录(程度代码) -------------------------------------------------------15设计总说明1.设计概况名称:学生学籍管理系统用途:学校等机构功能:实现对学生学籍信息的管理与维护等功能2.设计说明学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。
该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。
用ODBC驱动实现前台Java与后台SQL数据库的连接。
Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。
SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。
系统可供输入的属性有“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。
该系统实现的大致功能:1.管理员登陆界面。
该界面可以输入管理员号,登陆密码。
用户通过验证通过后方可进入管理系统。
一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。
2.查询学生信息。
可以选择由用户选择“显示系统中当前的所有学生信息”。
也可以选择按照“某一个学号查询该学号的学生信息”。
查询到的信息会在窗口中依次显示出来。
3.添加学生信息。
可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。
完成新纪录的添加。
4.修改学生信息。
可以选择按照“学号”或者“姓名”找到该学生的学生信息并输入要修改的属性,并输入新的数据。
完成对学生记录的修改。
5.删除学生记录。
可以根据输入的“学号”或者”姓名”进行删除的操作。
3.本系统只实现了基本操作功能,,对于添加管理员,修改登录密码和数据库信息备份等功能并未提供,便利性和安全性仍有不足,使用过程中造成的不便还请谅解!学生学籍管理系统信管1081班,200811622124,吴晓阳信管1081班,200811622104,陈秀丽指导教师:陈亮1课程设计目的与需求分析1.1 课程设计目的本课程设计作为《Java语言高级程序设计》课程的延伸,在学生完成了《Java语言高级程序设计》课程的理论知识学习后,希望通过本次课程设计的实践操作,能够让学生懂得Java的各种相关知识的使用,真正的提高学生独立开发设计Java程序,把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进步。
1.2需求分析在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信息的难度也越来越大。
而且效率也是很低的。
所以如何自动高效地管理信息是这些年来许多人所研究的。
随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。
我们使用电脑的高效率才处理数据信息成为可能。
学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。
友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。
学生学籍管理系统,以SQL数据库作为后台信息存储,Java作为前台系统的语言。
提供了对学生信息添加,查询,修改,删除的功能。
实现了最基本的信息管理。
2 设计思路与主功能设计2.1 设计思路2.1.1 开发环境和软件本学籍采用Java语言编写前台程序,后台采用SQL Server2005软件管理数据库,调试和运行皆由Eclipse SDK 3.5.2完成。
2.1.2 SQL数据库表结构2.1.3 程序设计图学生学籍管理系统登录登录验证失败成功退出查询添加修改删除2.2 功能设计与介绍1)显示已有学生信息2)添加新的学生信息3)修改已有学生信息4)删除已有学生信息5)关于学籍管理系统6)退出学籍管理系统3具体功能的介绍和数据测试3.1登录界面登录界面输入“管理员号”和“登录密码”,点击“确定”,通过验证则进入主功能菜单。
如果输入错误则会有相应的警告!1.当输入了一个未存在的管理员号时,会出现下图!2.当输入一个错误的密码时,会出现下图!当前系统有两个管理员账号:管理员号:200811622124 密码:123456管理员号:200811622104 密码:1234563.2主功能界面3.2.1 查询点击,则弹出下面的选择菜单。
1)选择“显示所有学生记录”时,在控制台会显示当前系统中所有的学生记录 2)选择“查询某个学生记录”时,会弹出一下窗口要求用户输入“学号”。
当系统中有要查询的学号记录时,系统会显示查询到的详细信息。
如果没有查询到,则显示:3.2.2添加点击,会弹出输入框,如下图:在各个数据框中输入对应的信息(学号不能为空,且学号不能与已存在的记录重复),如果输入的新纪录的学号已经存在则:如果添加的新纪录学号为空,则如果输入的各项数据正常时,则点击“添加”按钮后,学生记录添加成功!!!3.2.3 修改点击,进行“修改”的操作,弹出下面的选择菜单。
1)选择按“学号”修改:将相应的数据填入输入框中,如果修改的记录不存在,则提示:如果数据正确且记录存在,则显示记录修改成功:2)按“姓名”修改,同上…….3.2.4 删除点击,会显示下面的菜单。
1)选择按“学号”删除,出现以下窗口。
在弹出的窗口输入你要删除的记录的学号。
如果要删除的记录不存在,则显示如果输入的的学号存在,则删除成功。
3.2.5 关于点击,显示本学生管理系统的作者相关信息。
3.2.6 退出点击,退出本学籍管理系统。
4 课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 本次课程设计虽然很辛苦,实在是受益匪浅。
本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。
理论和实践的相结合是学习最有效的方法。
在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
附录(程序代码)import javax.swing.*;import java.awt.BorderLayout;import java.awt.Container;import java.awt.FlowLayout;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.sql.*;class DataBase{ // DataBase类public void Add(String xh,String xm,String xb,String xy,String bj,Stringjg) throws SQLException {try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection c=DriverManager.getConnection("jdbc:odbc:studentdatabase");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQuery("select * from 学籍管理系统where 学号='"+xh+"'");st();if(r.getRow()==1) { JOptionPane.showMessageDialog( null ,"该学号的学生信息已存在");} else if(xh.equals("")){JOptionPane.showMessageDialog( null ,"学号不能为空");}else{ s.executeUpdate(" insert into 学籍管理系统values('"+xh+"','"+xm+"','"+xb+"','"+ xy+"','"+bj+"','"+jg+"')");s.close();c.close();JOptionPane.showMessageDialog( null ,"<html>"+"学号:"+xh+"<br>"+"姓名:"+xm+"<br>"+"性别:"+xb+"<br>"+"学院:"+xy+"<br>"+"班级:"+bj+"<br>"+"籍贯:"+jg+"<br> 学生记录添加成功!" ) ; }}catch(Exception e) {JOptionPane.showMessageDialog( null , "数据添加异常!" ) ;}}Public void DisplayAll(ResultSet r){try{st();System.out.println("数据库表共有"+r.getRow()+"行记录");r.beforeFirst();while(r.next()){System.out.print("第"+r.getRow()+"行记录:");System.out.print(" 学号为:"+r.getString("学号"));System.out.print(" 姓名为:"+r.getString("姓名"));System.out.print(" 性别为:"+r.getString("性别"));System.out.print(" 学院为:"+r.getString("学院"));System.out.print(" 班级为:"+r.getString("班级"));System.out.println(" 籍贯为:"+r.getString("籍贯"));}}catch(Exception e){ }}public void DisplayOne(String str22) throws Exception{try{Connection c=DriverManager.getConnection("jdbc:odbc:studentdatabase");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQuery("select * from 学籍管理系统 where学号='"+str22+"'");st();int cc=r.getRow();if(cc==0){ JOptionPane.showMessageDialog( null ,"未查询到相关信息!" ) ; } else{r.beforeFirst();while(r.nex{JOptionPane.showMessageDialog( null ,"<html>"+"学号:"+r.getString("学号")+"<br>"+"姓名:"+r.getString("姓名")+"<br>"+"性别:"+r.getString("性别")+"<br>"+"学院:"+r.getString("学院")+"<br>"+"班级:"+r.getString("班级")+"<br>"+"籍贯:"+r.getString("籍贯")+"<br> 已查询到相关记录!" ) ;}} }catch(Exception e){}}public void DeleteXh(String str11) {try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectionc=DriverManager.getConnection("jdbc:odbc:studentdatabase");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQuery("select * from 学籍管理系统where 学号='"+str11+"'");st();if(r.getRow()==1){s.executeUpdate("delete from 学籍管理系统 where 学号='"+str11+"'");JOptionPane.showMessageDialog( null , "学生记录删除成功!" ) ;}else { JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" ); } }catch(Exception e){ }}public void DeleteXm(String str13){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection c=DriverManager.getConnection("jdbc:odbc:studentdatabase");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQuery("select * from 学籍管理系统 where姓名='"+str13+"'");st();if(r.getRow()==1) {s.executeUpdate("delete from 学籍管理系统 where 姓名='"+str13+"'");JOptionPane.showMessageDialog( null , "学生记录删除成功!" ) ;}else{ JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" ) ; } }catch(Exception e){}}public void UpdateXh(String xg,String str15,String str16){try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection c=DriverManager.getConnection("jdbc:odbc:studentdatabase");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQuery("select * from 学籍管理系统where 学号='"+xg+"'");st();if(r.getRow()==1){ s.executeUpdate("update 学籍管理系统 set "+str15+"='"+str16+"'where 学号='"+xg+"'");JOptionPane.showMessageDialog( null , "学生记录修改成功!" ) ; } else{JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" ) ;};}catch(Exception e){JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" ) ;} }public void UpdateXm(String str18,String str19,String str20) {try {Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connection c=DriverManager.getConnection("jdbc:odbc:studentdatabase");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQuery("select * from 学籍管理系统where 姓名='"+str18+"'");st();if(r.getRow()==1){ s.executeUpdate("update 学籍管理系统set"+str19+"='"+str20+"' where 姓名='"+str18+"'"); //直接执行SQL语句修改JOptionPane.showMessageDialog( null , "学生记录修改成功!" ) ;}else{JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" ) ;}; }catch(Exception e){ JOptionPane.showMessageDialog( null ,"学籍系统中并无相关记录!" ) ; }}}class J_ActionListener1 extends JFrame implements ActionListener //创建J_ActionListener1类监听功能选项面板"显示已有学生信息"的按钮{public void actionPerformed(ActionEvent e){ JButton b1=(JButton)e.getSource();Object aa= JOptionPane.showInputDialog(null, "请选择按何种方式查询","选择", JOptionPane.QUESTION_MESSAGE,null, new String []{"显示所有学生记录", "查询某个学生记录"},"显示所有学生记录");if(aa=="显示所有学生记录"){ try { Connection c = DriverManager.getConnection("jdbc:odbc:studentdatabase");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQuery("select * from 学籍管理系统");DataBase a =new DataBase();a.DisplayAll(r);}catch (SQLException e1) { }}else{ try{Connection c= DriverManager.getConnection("jdbc:odbc:studentdatabase");Statement s=c.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);DataBase a=new DataBase();String str11=JOptionPane.showInputDialog("请输入要查询的记录的学号");a.DisplayOne(str11);}catch (Exception e1) { }}}}class J_ActionListener2 extends JFrame implements ActionListener {Public void actionPerformed(ActionEvent e) {JButton b2=(JButton)e.getSource();try {new J_ActionListener6(); } catch (Exception e2) { }}}Class J_ActionListener6 extends J_ActionListener2 implements ActionListener{ DataBase a = new DataBase();JTextField jtf1 = new JTextField();JTextField jtf2 = new JTextField() ;JTextField jtf3 = new JTextField() ;JTextField jtf4 = new JTextField() ;JTextField jtf5 = new JTextField() ;JTextField jtf6 = new JTextField() ;JButton btn = null ;J_ActionListener6(){this.setTitle("请输入数据:") ; //创建框架的标题 this.setBounds(250, 100, 220,320) ; //框架的大小和坐标this.setResizable(false);this.setVisible(true);this.setLayout(null) ;JLabel jlb1 = new JLabel("学号:") ; //创建"学号"的标签jlb1.setBounds(43,23,100,25) ;this.add(jlb1) ;JLabel jlb2 = new JLabel("姓名:") ;jlb2.setBounds(43,58,100,25) ;this.add(jlb2) ;JLabel jlb3 = new JLabel("性别:") ;jlb3.setBounds(43,93,100,25) ;this.add(jlb3) ;JLabel jlb4 = new JLabel("学院:") ;jlb4.setBounds(43,128,100,25) ;this.add(jlb4) ;JLabel jlb5 = new JLabel("班级:") ;jlb5.setBounds(43,163,100,25) ;this.add(jlb5) ;JLabel jlb6 = new JLabel("籍贯:") ;jlb6.setBounds(43,198,100,25) ;this.add(jlb6) ;jtf1.setBounds(80,25,100,25) ;this.add(jtf1) ;jtf2.setBounds(80,60,100,25) ;this.add(jtf2) ;jtf3.setBounds(80,95,100,25) ;this.add(jtf3) ;jtf4.setBounds(80,130,100,25) ;this.add(jtf4) ;jtf5.setBounds(80,165,100,25) ;this.add(jtf5) ;jtf6.setBounds(80,200,100,25) ;this.add(jtf6) ;btn = new JButton("添加") ;btn.setBounds(68,245,80,30) ; //设置按钮的大小和位置this.add(btn) ; //将按钮添加进面板里btn.addActionListener(this) ;((JComponent) this.getContentPane()).setOpaque(false);.URL url = JavaSql.class.getResource("背景1.jpg");ImageIcon img = new ImageIcon(url);JLabel background = new JLabel(img);this.getLayeredPane().add(background,new Integer(Integer.MIN_VALUE));background.setBounds(0,0,img.getIconWidth(),img.getIconHeight());}public void actionPerformed(ActionEvent e) {JButton btn=(JButton)e.getSource();String xh = jtf1.getText() ;String xm = jtf2.getText() ;String xb = jtf3.getText() ;String xy = jtf4.getText() ;String bj = jtf5.getText() ;String jg = jtf6.getText() ;try {a.Add(xh,xm,xb,xy,bj,jg);this.setVisible(false); }catch (SQLException e1) {} }}class J_ActionListener3 extends JFrame implements ActionListener //创建J_ActionListener3监听功能面板”修改已有学生信息“的按钮{ final DataBase a=new DataBase();JFrame xiugai=new JFrame();String b=null;public void jiemian(){ //在J_ActionListener3类里添加jiemian()方法,创建按学号修改数据的界面this.setTitle("请输入数据:") ;this.setSize(230,320) ;this.setLocation(200,130);this.setResizable(false);this.setVisible(true);JLabel jlb1 = new JLabel("请输入要修改的学生的"+b) ; //设置3个标签JLabel jlb2 = new JLabel("请输入要修改的属性") ;JLabel jlb3 = new JLabel("请输入新的数据") ;final JTextField jtf1 = new JTextField() ; //设置三个文本框final JTextField jtf2 = new JTextField() ;final JTextField jtf3 = new JTextField() ;JButton xg=new JButton("修改"); //创建”修改“按钮Container c=getContentPane();c.setLayout(null);jlb1.setBounds(20,15,170,30);c.add(jlb1);jlb2.setBounds(20,80,170,30);c.add(jlb2);jlb3.setBounds(20,145,170,30);c.add(jlb3);jtf1.setBounds(20,45,170,30);c.add(jtf1);jtf2.setBounds(20,110,170,30);c.add(jtf2);jtf3.setBounds(20,180,170,30);c.add(jtf3);xg.setBounds(80,230,60,35);c.add(xg);xg.addActionListener(new ActionListener() //为”修改“按钮添加事件触发{public void actionPerformed( ActionEvent e) // 当修改的按钮被点击时执行{JButton xg=(JButton)e.getSource();String xuehao=jtf1.getText(); //获取文本框的数据String shuxin=jtf2.getText();String xinshuju=jtf3.getText();a.UpdateXh(xuehao,shuxin,xinshuju);setVisible(false);;}});((JComponent) this.getContentPane()).setOpaque(false); //设置背景图片.URL url = JavaSql.class.getResource("背景2.jpg");ImageIcon img = new ImageIcon(url);JLabel background = new JLabel(img);this.getLayeredPane().add(background, newInteger(Integer.MIN_VALUE));background.setBounds(0, 0, img.getIconWidth(),img.getIconHeight());}public void jiemian2(){ //在J_ActionListener3类里添加jiemian2()方法,创建按姓名修改数据的界面this.setTitle("请输入数据:") ;this.setSize(230,320) ;this.setLocation(200,130);this.setResizable(false);this.setVisible(true);JLabel jlb1 = new JLabel("请输入要修改的学生的"+b) ; //设置3个标签JLabel jlb2 = new JLabel("请输入要修改的属性") ;JLabel jlb3 = new JLabel("请输入新的数据") ;final JTextField jtf1 = new JTextField() ; //设置三个文本框final JTextField jtf2 = new JTextField() ;final JTextField jtf3 = new JTextField() ;JButton xg=new JButton("修改"); //创建”修改“按钮Container c=getContentPane();c.setLayout(null);jlb1.setBounds(20,15,170,30);c.add(jlb1);jlb2.setBounds(20,80,170,30);c.add(jlb2);jlb3.setBounds(20,145,170,30);c.add(jlb3);jtf1.setBounds(20,45,170,30);c.add(jtf1);jtf2.setBounds(20,110,170,30);c.add(jtf2);jtf3.setBounds(20,180,170,30);c.add(jtf3);xg.setBounds(80,230,60,35);c.add(xg);xg.addActionListener(new ActionListener()//为”修改“按钮添加事件触发{public void actionPerformed( ActionEvent e) // 当修改的按钮被点击时执行{JButton xg=(JButton)e.getSource();String xinming=jtf1.getText(); //获取文本框的数据String shuxin=jtf2.getText();String xinshuju=jtf3.getText();a.UpdateXm(xinming,shuxin,xinshuju);setVisible(false);;}});((JComponent) this.getContentPane()).setOpaque(false); //设置背景图片.URL url = JavaSql.class.getResource("背景2.jpg");ImageIcon img = new ImageIcon(url);JLabel background = new JLabel(img);this.getLayeredPane().add(background, newInteger(Integer.MIN_VALUE));background.setBounds(0, 0, img.getIconWidth(),img.getIconHeight());}public void actionPerformed(ActionEvent e){ JButton b3=(JButton)e.getSource(); //当主功能选项面板的”修改已有学生信息“的按钮被点击时执行Object aa= JOptionPane.showInputDialog(null, "请选择按何种方式修改","选择", //弹出窗口让用户选择按何种方式进行修改JOptionPane.QUESTION_MESSAGE,null,new String []{"学号","姓名"},"学号");if(aa=="学号"){ //当用户选择按”学号“修改时执行b="学号";this.jiemian();}if(aa=="姓名"){ //当用户选择按”姓名“修改时执行b="姓名";this.jiemian2();}}}class J_ActionListener4 implements ActionListener{ //创建J_ActionListener2类监听功能选项面板"添加新的学生信息"的按钮 public void actionPerformed(ActionEvent e){ JButton b4=(JButton)e.getSource();DataBase a=new DataBase(); //实例化DataBase类Object aa= JOptionPane.showInputDialog(null, "请选择按何种方式删除","选择",JOptionPane.QUESTION_MESSAGE, //弹出窗口让用户选择按何种方式进行删除null,new String []{"学号","姓名"},"学号");if(aa=="学号"){ String str11=JOptionPane.showInputDialog("请输入要删除的记录的学号"); //当用户选择按”学号“删除时执行a.DeleteXh(str11); //执行DataBase类的DeleteXh方法}else{ String str13=JOptionPane.showInputDialog("请输入要删除的记录的姓名"); //当用户选择按”姓名“修改时执行a.DeleteXm(str13); //执行DataBase 类的DeleteXm方法}}}class J_ActionListener5 implements ActionListener{ //创建J_ActionListener2类监听功能选项面板"关于学籍管理系统"的按钮public void actionPerformed(ActionEvent e) //按钮被点击执行{ JButton b5=(JButton)e.getSource();JOptionPane.showMessageDialog( null ,"******本系统由吴晓阳陈秀丽制作******\n************ 日期:2010年12月 ************" ) ;}}class JavaSql extends JFrame implements ActionListener{ //主类JavaSql//添加设置用户名和密码输入的图形界面JFrame denglu=new JFrame("登录"); //创建”登录“的框架JButton quedin = new JButton(" 确定"); //创建”确定“按钮JLabel t1=new JLabel("管理员号:"); //创建标签”管理员号“JTextField t2=new JTextField(null,15); //创建管理员号的输入栏JLabel t3=new JLabel("登录密码:"); //创建标签"登录密码"JTextField t4=new JPasswordField(null,15); //创建登录密码的输入栏public void init(){ //在数据库中创建一张”学籍管理系统“表try{ Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Connectionc=DriverManager.getConnection("jdbc:odbc:studentdatabase");Statement s=c.createStatement();s.executeUpdate("create table 学籍管理系统(" +"学号 char(15) CONSTRAINT authIndex PRIMARY KEY,"+"姓名 char(10),"+"性别 char(4),"+"学院 char(8),"+"班级 char(8),"+"籍贯 char(5))");s.close();c.close();System.out.println("********欢迎使用学籍管理系统**********");}catch(Exception e) //该表已存在{System.out.println("********欢迎使用学籍管理系统**********");}}public void zhujiemian() //定义jiemian()的方法,创建主功能的图形界面{Container c=getContentPane(); //设置主功能界面的按钮的大小和坐标位置c.setLayout(null);JButton b1=new JButton("显示已有学生信息");b1.setBounds(10,10,160,30);JButton b2=new JButton("添加新的学生信息");b2.setBounds(10,45,160,30);JButton b3=new JButton("修改已有学生信息");b3.setBounds(10,80,160,30);JButton b4=new JButton("删除已有学生信息");b4.setBounds(10,115,160,30);JButton b5=new JButton("关于学籍管理系统");b5.setBounds(10,150,160,30);JButton b6=new JButton("退出学籍管理系统");b6.setBounds(10,185,163,30);J_ActionListener1 a1=new J_ActionListener1(); // 实例化各个按钮监听的类J_ActionListener2 a2=new J_ActionListener2();J_ActionListener3 a3=new J_ActionListener3();J_ActionListener4 a4=new J_ActionListener4();J_ActionListener5 a5=new J_ActionListener5();b1.addActionListener(a1);b2.addActionListener(a2);b3.addActionListener(a3);b4.addActionListener(a4);b5.addActionListener(a5);b6.addActionListener(new ActionListener() //为”退出学籍管理系统“的按钮添加事件监听触发{public void actionPerformed(final ActionEvent e){System.exit(0); //该按钮点击时,退出学籍管理系统}});c.add(b1); //将按钮逐个添加到面板里c.add(b2);c.add(b3);c.add(b4);c.add(b5);c.add(b6);}public void denglumenu(){denglu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//设置登录界面的按钮标签的的大小和具体坐标位置denglu.setSize(680,530);denglu.setVisible(false);denglu.setLocation(200,200);Container n=denglu.getContentPane();n.setLayout(null);t1.setBounds(405,228,70,25);t2.setBounds(470,228,120,25);t3.setBounds(405,270,70,25);t4.setBounds(470,270,120,25);quedin.setBounds(470,322,63,35);n.add(t1); //将登陆界面的按钮和标签添加到登录的面板里n.add(t2);n.add(t3);n.add(t4);denglu.add(quedin);denglu.setVisible(true);quedin.addActionListener(this);((JComponent) denglu.getContentPane()).setOpaque(false); //设置登录图形界面的背景图片.URL url = JavaSql.class.getResource("未命名1111.jpg");ImageIcon img = new ImageIcon(url);JLabel background = new JLabel(img);denglu.getLayeredPane().add(background, newInteger(Integer.MIN_VALUE));background.setBounds(0, 0, img.getIconWidth(),img.getIconHeight());public void actionPerformed(ActionEvent e){ //当登录界面的确定按钮被点击时if(e.getSource()==quedin){ //对输入的管理员号和密码进行验证String zh="200811622124";String zh1="200811622104";String mm="123456";String ming=t2.getText();if(ming.equals(zh)||ming.equals(zh1)){ String mima=t4.getText();if(mima.equals(mm)){this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //验证通过,则调用zhujiemian()方法this.setSize(640,480);this.setLocation(200,200);this.setVisible(true);zhujiemian();((JComponent)this.getContentPane()).setOpaque(false); //主界面的背景图片.URL url = JavaSql.class.getResource("111.jpg");ImageIcon img = new ImageIcon(url);JLabel background = new JLabel(img);this.getLayeredPane().add(background, newInteger(Integer.MIN_VALUE));background.setBounds(0, 0, img.getIconWidth(),img.getIconHeight());denglu.setVisible(false);} else{ JOptionPane.showMessageDialog( null ,"密码输入错误!" ) ;} //验证失败,弹出错误的提示!}else{ JOptionPane.showMessageDialog( null ,"学号输入错误!" ) ;}}}public static void main(String args[]){ //主方法JavaSql app=new JavaSql(); //实例化JavaSql类app.init(); //为数据库创建学籍管理系统表app.denglumenu(); //执行登陆界面附录。