AVA连接sqlserver学生成绩管理系统
- 格式:docx
- 大小:48.70 KB
- 文档页数:19
一、创建学生成绩管理数据库1、学生成绩管理数据库概念模型(E—R图)如下:2、在查询分析器中创建学生成绩管理数据库,数据库名为“学生成绩管理表”,物理文件的存储位置为:“E:\学生成绩管理表\XSCJGLB”;⑴打开查询分析器,在查询分析器中输入如下代码创建数据库CREATEDATABASE学生成绩管理表ONPRIMARY(NAME=XSCJGLB_DATA,FILENAME='E:\学生成绩管理表\XSCJGLB.MDF',SIZE=5,FILEGROWTH=10%)LOGON(NAME=XSCJGLB_LOG,FILENAME='E:\学生成绩管理表\XSCJGLB.LDF',SIZE=1,MAXSIZE=10,FILEGROWTH=10)⑵单击运行按钮,显示运行结果如图1所示图1建立数据库⑶在企业管理器中窗体示意图如图2所示图2企业管理器学生成绩管理数据库示意图3、根据数据库概念模型(E—R图)建立基本表如下:学生表(学号,姓名,性别,出生日期,系部,班级,备注)课程表(课程号,课程名,开课日期,任课教师)成绩表(学号,课程号,成绩)4、在查询分析器中在学生成绩管理数据库中新建表:USE学生成绩管理表CREATETABLE学生表(学号CHAR(8)PRIMARYKEYNOTNULL,姓名CHAR(10)NOTNULL,性别CHAR(2)NULL,出生日期SMALLDATETIMENOTNULL,系部CHAR(30)NULL,班级CHAR(30)NULL,备注TEXTNULL,CONSTRAINT约束1CHECK(性别IN('男','女'))) CREATETABLE课程表(课程号CHAR(4)PRIMARYKEYNOTNULL,课程名CHAR(30)NOTNULL,开课日期TINYINTNULL,任课教师CHAR(10)NULL,CONSTRAINT约束2CHECK(开课日期LIKE'[1-6]')) CREATETABLE成绩表(学号CHAR(8)NOTNULL,课程号CHAR(4)NOTNULL,成绩TINYINTNULL,CONSTRAINT约束3CHECK(成绩BETWEEN1AND100),CONSTRAINT约束4PRIMARYKEYCLUSTERED(学号,课程号),CONSTRAINT约束5FOREIGNKEY(学号)REFERENCES学生表(学号),CONSTRAINT约束6FOREIGNKEY(课程号)REFERENCES课程表(课程号),)⑸单击运行按钮,显示运行结果如图3所示图3建表示意图⑹在企业管理器中查看设计界面①在企业管理器中窗体示意图如图4所示图4企业管理器中各表②企业管理器中学生表设计示意图,图5所示图5学生表③企业管理器中课程表表设计示意图,图6所示图6课程表④企业管理器中成绩表设计示意图,图7所示图7成绩表二、在企业管理器中创建关系图⑴打开企业管理器中学生成绩管理表数据库,选择“关系图”,右击“关系图”选项,如图8所示,弹出快捷菜单⑵在弹出的快捷菜单中选中新建数据库关系图弹出图9对话框,单击【下一步】按钮,在可用的表中将学生表、成绩表、课程表添加到右侧列表框中,出现图10所示对话框,单击【下一步】查看选中的表,如图11所示图8关系图快捷菜单图9关系图向导对话框图10添加表对话框图11完成数据库关系向导⑶单击【完成】按钮,出现如图12所示关系图图12学生成绩管理表关系图⑷在弹出的“另存为”对话框中输入学生表关系图如图13所示图13保存学生表关系图三、在企业管理器中创建视图⑴打开企业管理器中学生成绩管理表数据库,选择“视图”,右击“视图”选项,如图14所示,弹出快捷菜单图14“视图”快捷菜单⑵在弹出的菜单中选择“新建视图命令”,将弹出“学生成绩管理表”中的“新视图”,如图15所示,在对话框上半部分的灰色框内右击,从弹出的快捷菜单中选择“添加表”命令,出现如图16所示“添加表”对话框图15新视图窗口图16添加表对话框⑶在“添加表”对话框内,选择表学生表、成绩表、课程表,单击【添加】按钮,关闭“添加表”对话框,返回新视图窗口,如图17所示图17添加表后视图⑷在列中选择要添加到视图中的字段,学号、课程号选择成绩表中的字段,每个字段只选一次,如图18所示图18向视图中添加所需字段⑸添加表后新视图窗口如图19所示图19添加表后视图⑹单击【保存】按钮,在“另存为”对话框中输入学生表视图,如图20所示,单击【确定】按钮,完成视图的建立图20保存视图四、使用VBCREATEDATABASE学生成绩管理表ONPRIMARY(NAME=XSCJGLB_DATA,FILENAME='d:\学生成绩管理表Bdata.mdf',SIZE=10,maxsize=500,FILEGROWTH=10)LOGON(NAME=XSCJGLB_LOG,FILENAME='d:\学生成绩管理表data.ldf',SIZE=5,MAXSIZE=100,FILEGROWTH=10)CREATETABLE学生表(学号CHAR(12)PRIMARYKEYNOTNULL,姓名CHAR(6)NOTNULL,性别CHAR(2)NULL,出生日期char(8)NOTNULL,系部CHAR(30)NULL,班级CHAR(30)NULL,CONSTRAINT约束1CHECK(性别IN('男','女')))createtable课程表(课程号CHAR(4)NOTNULL,课程名CHAR(30)NOTNULL,开课日期datetime,任课教师CHAR(10),CONSTRAINT约束2CHECK(开课日期LIKE'[1-6]'))alterTABLE成绩表(学号CHAR(12)NOTNULL,课程号CHAR(4)NOTNULL,成绩INTNULL,CONSTRAINT约束3CHECK(成绩BETWEEN1AND100),CONSTRAINT约束4PRIMARYKEYCLUSTERED(学号,课程号),CONSTRAINT约束5FOREIGNKEY(学号)REFERENCES学生表(学号),CONSTRAINT约束6FOREIGNKEY(课程号)REFERENCES课程表(课程号))createviewview1asselect学生表.姓名,成绩表.课程号,成绩表.成绩from学生表,成绩表where学生表.学号=成绩表.学号createviewview2asselect课程表.课程号,课程表.开课日期from课程表,成绩表where课程表.课程号=成绩表.课程号。
2012年第5期 Computer CD Software and Applications 软件设计开发— 183 —基于SQL Server 的学生成绩管理系统设计肖文翀(广东省食品药品职业技术学院,广州 510663)摘要:为使学生成绩管理更加规范化、标准化,同时为学生成绩管理系统提供基础数据支持,研究设计了学生成绩管理系统。
学生成绩管理系统提供了强大的成绩管理功能,使用户对成绩相关信息的添加、修改、查询、打印等操作更为简便,亦为教师提供更全面、直观的成绩分析。
本文从需求分析、系统详细设计、功能实现几方面设计了基于SQL Server 的学生成绩管理系统。
关键词:SQL Server 数据库;成绩管理系统;学生信息管理中图分类号:TP311.52 文献标识码:A 文章编号:1007-9599 (2012) 05-0183-02 一、引言 随着计算机技术的普及与网络的广泛应用,学生成绩的管理也引入了计算机手段。
传统的学生成绩管理以手工工作为主,处理巨大的信息量不仅耗时,且低效、易错。
学生成绩管理系统软件的开发与使用,使学生成绩管理更加规范化、标准化,同时为学生成绩管理系统提供基础数据支持。
本系统结合计算机技术和学校管理的现状,从需求分析、系统详细设计、功能实现几方面设计开发了基于SQL Server 数据库的学生成绩管理系统,以此来规范学生成绩的管理和快速的成绩查询。
二、需求分析学生成绩管理系统软件,主要用来供教务人员对学生成绩信息的管理,包括学生成绩的录入、查询、修改和删除等,本系统具有检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等特点,是传统手工管理无法比拟的。
学生成绩管理系统软件的使用在一定程度上提高了学生成绩的管理效率。
一个科学合理的学生成绩管理系统能够存储历年来的学生成绩档案,用户界面有好,操作简单便捷,节省人力物力的同时,满足快速、高效、安全等要求,同时,学生亦可方便查看成绩。
学校代码:10128学号:设计说明书题目:学生成绩管理系统学生姓名:学院:信息工程学院班级:指导教师:讲师年月日内蒙古工业大学设计任务书课程名称:数据库应用学院:信息工程学院班级:学生姓名:学号:指导教师:1. 学生成绩管理系统概述1.1 研究背景学生成绩管理系统是学校管理学生的重要工具,是学校不可或缺的部分。
随着在校大学生人数的不断增加,教务系统的数量也不断的上涨,。
学校学生管理工作繁杂、资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,效率也是很低的。
并且这种传统的方式存在着很多的弊端,如:保密性差、查询不便、效率低,很难维护和更新等。
然而,本系统针对以上缺点能够极大地提高对学生信息管理的效率,也是科学化、正规化的管理,与世界接轨的重要条件。
1.2开发意义随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网已成为大众趋势的发展。
我们使用电脑的高效率才处理数据信息成为可能。
学生成绩管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。
友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。
通过这个系统,可以做到信息的规范管理,科学统计和快速的查询,从而减少管理方面的工作量,对于促进学校管理制度,提高学校教学质量与办学水平有着显著意义。1.3 参考资料①《软件测试方法和技术》朱少民主编清华大学出版社②《软件测试教程》杜文洁主编清华大学出版社③《如何设计黑盒测试的测试用例》谈燕主编成都教育学院学报④《常用软件工程》郑人杰主编清华大学出版社⑤《面向对象软件工程与UML》张京主编人民邮电出版社⑥《数据库原理与实践教程——SQL Server》何玉洁主编清华大学出版社2.系统需求分析2.1 开发环境和软件(1)操作系统:Windows 7(2)数据库软件:SQL Server 2005(3)Java开发工具:My eclipse8.52.2 系统设计与功能分析学生信息管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。
《学生成绩管理系统》课程设计实验报告题目学生成绩管理系统学院数学与信息工程学院专业计算机科学与技术班级同组成员编写日期一、课程设计目的做这个小的学生成绩管理系统来加深对JAVA所学知识的巩固,以及学习JAVA与数据库的连接和JAVA的GUI图形界面。
二、需求分析此系统实现如下系统功能:(1)使得学生的成绩管理工作更加清晰、条理化、自动化。
(2)通过用户名和密码登录系统,查询学生基本资料,学生所学课程成绩,等功能。
容易地完成学生信息的查询操作。
(3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。
三、系统模块设计此系统可分为2个模块,教师管理模块和学生操作模块,期中教师又包括学生信息输入与学生成绩录入等;学生模块则包括学生成绩查询与学生信息录入查询操作等。
1Class Char(10) ————班级Collage Char(10) ————学院2、教师表Field Type Null Key CommentID Varchar(10) ——PRI 用户名Pwd Varchar(10) ————密码3、成绩表Field Type Null Key CommentSid char(10) ——PRI 学号计算机网络char(10) ————课程Linux操作系统char(10) ————课程计算机专业英语char(10) ————课程计算机信息技术char(10) ————课程Java程序设计char(10) ————课程数据库应用实训char(10) ————课程高等数学char(10) ————课程XML char(10) ————课程五、E-R图六、心得体会通过本次课程设计,成功的完成了这个小型简单的系统的设计,在整个设计过程中我对JAVA使用和它强大的作用有了一个更深刻的认识,尽管这个系统很简单,但是它让我综合运用了这个学期所学的JAVA的很多内容,在此基础上,对JAVA的基础知识得到了更好的巩固。
课程设计课程名称数据库课程设计题目名称学生信息管理系统学生学院计算机学院专业班级学号学生姓名指导教师2014年1 月13日目录1.开发环境和相关技术介绍 (4)1.1开发环境 (4)1.2相关技术介绍 (4)2.需求分析 (4)2.1数据流图及数据词典 (5)2.1.1数据流图符号说明 (5)2.1.2顶层数据流图 (5)2.1.3第0层数据流图 (6)2.1.3.1. 数据流词条描述 (7)2.1.3.2.加工逻辑词条描述 (8)2.1.4第1层数据流图 (9)2.1.4.1学生信息管理命令 (9)2.1.4.2课程信息管理命令 (10)2.1.4.3选课信息管理命令 (11)2.1.4.4院系信息管理命令 (11)2.1.4.5专业信息管理命令 (12)2.1.4.6修改用户密码命令 (13)2.2安全性和完整性要求 (14)3.概念结构设计 (14)4.逻辑结构设计 (17)4.1 由以上的E-R图可以得到以下几个关系模式 (17)4.2 将以上关系模式转换成SQL Server 2008的关系数据模型 (17)4.3系统结构图 (18)4.4安全性(用户类别和权限)和完整性(主、外码和用户自定义的完整性约束)设计 (18)5.数据库物理设计 (18)5.1数据库存放位置 (18)5.2系统配置 (18)5.3模块设计 (19)6.数据库实施 (19)6.1创建数据库及数据库对象 (19)6.2数据库备份和恢复方案 (22)6.3用户界面的设计和实现和应用程序编码 (23)6.3.1登陆界面 (23)6.3.2主界面 (23)6.3.3学生信息管理界面 (24)6.3.3.1增加学生信息界面 (24)6.3.3.2删除学生信息界面 (24)6.3.3.3查询学生信息界面 (25)6.3.3.4更改学生信息界面 (25)6.3.4课程信息管理界面 (26)6.3.4.1增加课程信息界面 (26)6.3.4.2删除课程信息界面 (26)6.3.4.3查询课程信息界面 (27)6.3.4.4修改课程信息界面 (27)6.3.5院系信息查询界面 (28)6.3.6专业信息查询界面 (28)6.3.7学生选课信息查询界面 (29)6.3.8用户信息管理界面 (29)6.3.8.1增加用户信息界面 (29)6.3.8.2删除用户信息界面 (30)6.3.8.3更改用户密码界面 (30)7.系统测试方案和测试报告 (31)7.1系统测试方案 (31)7.1.1测试方法及原则 (31)7.1.2测试的环境 (31)7.1.3测试人员的要求 (31)7.2测试报告 (31)7.2.1安装测试 (31)7.2.2登陆测试 (32)7.2.3学生信息管理测试 (33)7.2.3.1增加学生信息测试 (33)7.2.3.2删除学生信息测试 (36)7.2.3.3查询学生信息测试 (37)7.2.3.4更改学生信息测试 (37)7.2.4更改用户密码测试 (39)7.2.5课程信息管理测试 (40)7.2.5.1增加课程信息测试 (40)7.2.5.2删除课程信息测试 (43)7.2.5.3查询学生信息测试 (44)7.2.5.4更改学生信息测试 (44)7.2.6用户信息管理测试 (46)7.2.6.1更改用户密码测试 (46)7.2.6.2添加用户测试 (47)7.2.6.3删除用户测试 (49)7.2.7查询院系信息测试 (50)7.2.8查询专业信息测试 (51)7.2.9查询学生选课信息测试 (52)8.系统使用说明 (52)8.1登录界面 (52)8.2主界面 (53)8.3学生信息管理界面 (54)8.3.1添加学生信息界面 (54)8.3.2删除学生信息界面 (54)8.3.3查询学生信息界面 (55)8.3.4修改学生信息界面 (55)8.4课程信息管理界面 (56)8.4.1添加课程信息界面 (56)8.4.2删除课程信息界面 (56)8.4.3查询课程信息界面 (57)8.4.4修改课程信息界面 (57)8.5用户信息管理界面 (58)8.5.1添加用户界面 (58)8.5.2删除用户界面 (58)8.5.3修改用户密码界面 (59)8.6查询院系信息界面 (59)8.7查询专业信息界面 (60)8.8查询学生选课信息界面 (61)9.总结 (61)10. 参考文献 (61)1.开发环境和相关技术介绍1.1开发环境数据库系统:Microsoft SQL Server 2008语言:Java数据库连接方式:JDBC连接方式开发工具:Eclipse1.2相关技术介绍Microsoft SQL Server 2008数据库管理系统是微软公司研制开发的关系型数据库管理系统。
基于C#SQLServer学生学业水平成绩管理系统的实现1 概述目前学业水平测试在我校如火如荼地进行着,学业水平测试是有教育行政部门统一组织的第三方标准参考考试,测试内容一般都是学生有能力完成的学习任务,所测得成绩数据数据能全面有效地反映检测对象的能力。
由于本测试所得成绩数据量大,及覆盖面广,如何有效管理此相关数据,成了本系统存在的依据。
本系统以数据库应用程序的开发工具Visual Studio 2005 作为开发工具,创建一个数据库应用程序,将应用程序与数据库接口、数据库管理系统和数据库有机地结合起来,使用C#语言来对数据库进行常见的操作,实现一个简单的学生学业水平成绩管理系统。
2 基本概念Visual Studio 2005是美国微软公司推出的开发工具,它提供一套完整的开发工具集,用于生成 ASP Web 应用程序、Windows 桌面应用程序和移动应用程序等。
在由于VS 2005 中使用了统一的IDE 环境,使开发跨语言平台的应用程序成为可能,程序员可以根据自己的实际情况使用不同的语言(如C#、VB 等)编写代码。
3 项目方案设计数据库应用系统的实现,首先要对该数据库应用系统进行功能需求分析;其次要进行数据库分析设计;然后对系统进行设计,包括功能详细设计与界面设计等;最后完成编码以及测试等。
3.1 功能需求分析1)本项目主要包括三个模块:学生基本信息管理、课程管理和成绩管理。
主要针对学生学业水平成绩进行管理,包括学生成绩查询、成绩录入、成绩修改和成绩删除。
2)本系统的主要功能:l 成绩查询:查询所有成绩、根据学号查询成绩、根据课程查询成绩,同时能够进行简单的统计汇总。
l 成绩录入:单个学生成绩录入、批量学生成绩录入。
l 成绩修改:根据学号和课程修改学生成绩。
l 成绩删除:根据学号和课程删除学生成绩。
3.2 开发环境数据库管理系统SQL Server 2005数据库应用程序的开发工具Visual Studio 2005。
《学生成绩管理系统》课程设计实验报告题目学生成绩管理系统学院专业班级同组成员编写日期word范文一、课程设计目的做这个小的学生成绩管理系统来加深对JAVA所学知识的巩固,以及学习JAVA与数据库的连接和JAVA的GUI图形界面。
二、需求分析此系统实现如下系统功能:(1)使得学生的成绩管理工作更加清晰、条理化、自动化。
(2)通过用户名和密码登录系统,查询学生基本资料,学生所学课程成绩,等功能。
容易地完成学生信息的查询操作。
(3)设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。
三、系统模块设计此系统可分为2个模块,教师管理模块和学生操作模块,期中教师又包括学生信息输入与学生成绩录入等;学生模块则包括学生成绩查询与学生信息录入查询操作等。
用户登录V. __________________________ X系统流程图:四、数据库1、学生表:Field Type Null Key Comme ntID Varchar(IO) ——PRI 用户名(学号)Pwd Varchar(1O) ——密码Name Char(10) ——姓名Sex Char(10) ——性别2Collage Char(10) 学院2、教Field Type Null Key Comme ntID Varchar(10) ——PRI 用户名Pwd Varchar(1O) --------- ----------- 密码3、成绩表Field Type Null Key Comme ntSid char(10) PRI 学号计算机网络char(10) 课程Linux操作系统char(10) 课程计算机专业英语char(10) 课程计算机信息技术char(10) 课程Java程序设计char(10) 课程数据库应用实训char(10) 课程高等数学char(10) 课程XML char(10) 课程3五、E-R图4Collage Char(10) 学院 5数据库应用实 训教程附录:源代码1、用户登录界面import java.awt.*;import javax.swi ng.*;import java.awt.eve nt.*;import java.sql.*;public class Systems exte nds JFrame impleme nts Actio nListe ner{static Systems ss;JPa nel panel = new JPa nel();Class ID Pwd计算机网络Sex n ame /Linux 操作系 SC 统 学牛表 TS j 教师表 Clocage Pwd 计算机系成绩 计算机专业英Java 程序设计 高等数学 SID(ID) XML 计算机信息技术基础JLabel labell = new JLabel("输入姓名:"); JTextField name = new JTextField();JLabel label2 = new JLabel("密码:");JPasswordField pwd = new JPasswordField(); JButton Enter = new JButton(" 登录");JButton Exit = new JButton(" 退出");String url = "E:\\mysql\\TM1.jpg";ButtonGroup bgp = new ButtonGroup();JRadioButton stu = new JRadioButton(" 学生");JRadioButton tch = new JRadioButton(" 教师");public Systems(){super("登录系统");this.setResizable(false);JLabel img = new JLabel(new ImageIcon(url));img.setBounds(0,0,500,125);panel.add(img);stu.setBounds(165,210,70,20);bgp.add(stu);bgp.add(tch);tch.setBounds(265,210,70,20);6panel.add(stu);panel.add(tch);Enter.setBounds(150,250,80,20);Exit.setBounds(270,250,80,20);Enter.addActionListener(this);Exit.addActionListener(this);panel.add(Enter);panel.add(Exit);panel.setLayout(null);this.add(panel);label1.setBounds(135,130,100,25);panel.add(label1);name.setBounds(265,130,100,25);panel.add(name);label2.setBounds(135,165,100,25);panel.add(label2);pwd.setBounds(265,165,100,25);panel.add(pwd);this.setBounds(100,100,500,350);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); public void actionPerformed(ActionEvent e){if(e.getSource()==Enter)}7{String username , password;username = name.getText();password = new String(pwd.getPassword());try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(ss,ce.getMessage());}if(stu.isSelected()){try{Connection conDriverManager.getConnection("jdbc:odbc:shujuku","sa","");8Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from STU");while(rs.next()){if(rs.getString("ID").equals(username))if((rs.getString("Pwd").equals(password))) {JOptionPane.showMessageDialog(ss," 登陆成功");Students stu = new Students();}else{JOptionPane.showMessageDialog(ss," 登录失败");}}rs.close();stmt.close();}catch (SQLException se){JOptionPane.showMessageDialog(ss,se.getMessage());}else if(tch.isSelected()){try{Connection con =DriverManager.getConnection("jdbc:odbc:shujuku","sa","");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from TCH");while(rs.next()){if(rs.getString("ID").equals(username))if((rs.getString("Pwd").equals(password))) {JOptionPane.showMessageDialog(ss," 登陆成功");}else{JOptionPane.showMessageDialog(ss," 登录失败");}Teachers tch=new Teachers();}}catch (SQLException se){JOptionPane.showMessageDialog(ss,se.getMessage());}}}else{System.exit(0);}}public static void main(String[] args){2、学生登录界面:import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Students extends JFrame implements ActionListener {JMenuBar jmb = new JMenuBar();JMenu Message = new JMenu(" 信息");JMenu Score = new JMenu(" 成绩");JMenuItem Item1 = new JMenuItem(" 插入");Systems sys = new Systems();}JMenuItem Item2 = new JMenuItem(" 查询");JMenuItem Item3 = new JMenuItem(" 查询");public Students(){super("学生界面");this.setSize(500,400);this.setVisible(true);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setJMenuBar(jmb);jmb.add(Message);jmb.add(Score);Message.add(Item1);Message.add(Item2);Score.add(Item3);Item1.addActionListener(this);Item2.addActionListener(this);Item3.addActionListener(this);}public void actionPerformed(ActionEvent e){if(e.getSource()==Item1)Serch ser = new Serch();}{AddMsg ad = new AddMsg();}else if(e.getSource()==Item2){elseScore so = new Score();public static void main(String[] args){Students stu = new Students();}}3、教师登录界面:import java.awt.*;import javax.swing.*;import java.awt.event.*;public class Teachers extends JFrame implements ActionListener {JMenuBar bar = new JMenuBar();JMenu menu1 = new JMenu(" 信息");JMenu menu2 = new JMenu(" 成绩"); JMenuItem item1 = new JMenuItem(" 录入信息");Serch ser = new Serch();}JMenuItem item2 = new JMenuItem(" 录入成绩");JPanel jpl = new JPanel();public Teachers(){super("教师界面");this.setSize(500,300);this.setResizable(false);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.setJMenuBar(bar);this.add(jpl);jpl.setLayout(null);bar.add(menu1);bar.add(menu2);menu1.add(item1);menu2.add(item2);item1.addActionListener(this);item2.addActionListener(this);public void actionPerformed(ActionEvent e)if(e.getSource()==item1){}AddMsg msg = new AddMsg();}else{Addscore as = new Addscore();}}public static void main(String[] args){Teachers tch = new Teachers();}}4、学生用户添加界面:import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class AddMsg extends JFrame implements ActionListener{static AddMsg s;/* 添加学生信息控件*/JPanel jpl = new JPanel();JLabel labell = new JLabel("添加基本信息"JLabel.CENTER);JLabel Iabel2 = new JLabel("学号:",JLabel.CENTER); JLabel label3 = new JLabel("姓名:",JLabel.CENTER); JLabel label4 = new JLabel("性别:",JLabel.CENTER); JLabel label5 = new JLabel("班级:",JLabel.CENTER); JLabel label6 = new JLabel("学院:",JLabel.CENTER); JTextField num = new JTextField(2);JTextField nam = new JTextField(4);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton(" 男"); JRadioButton women = new JRadioButton(" 女");JTextField clas = new JTextField();JTextField scl = new JTextField();JButton reset = new JButton(" 重置");JButton addmsg = new JButton(" 添加");public AddMsg(){super("添加学生信息");this.setResizable(false);this.setSize(500,400);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);addmsg.addActionListener(this);reset.addActionListener(this);/*插入面板*/label1.setBounds(100,20,300,20);jpl.add(label1);label2.setBounds(100,50,70,20);jpl.add(label2);num.setBounds(190,50,140,20);jpl.add(num);label3.setBounds(100,90,70,20);jpl.add(label3);nam.setBounds(190,90,140,20); jpl.add(nam);label4.setBounds(100,130,70,20);jpl.add(label4);man.setBounds(190,130,60,20);women.setBounds(270,130,60,20);jpl.add(man);jpl.add(women);bgp.add(man);bgp.add(women);label5.setBounds(100,170,70,20);jpl.add(label5);clas.setBounds(190,170,140,20);jpl.add(clas);label6.setBounds(100,210,70,20);jpl.add(label6);scl.setBounds(190,210,140,20);jpl.add(scl);reset.setBounds(120,250,90,20);addmsg.setBounds(240,250,90,20);jpl.add(reset);jpl.add(addmsg);}public void actionPerformed(ActionEvent e){if(e.getSource()==addmsg){String sex;if(man.isSelected()){sex="男";}else{sex="女";}try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(s,ce.getMessage());try{Connection con =DriverManager.getConnection("jdbc:odbc:shujuku","sa","");}Statement stmt = con.createStatement();String str = "insert into STU(ID , Pwd , Name , Sex , Class , Collage)values('"+num.getText()+"','"+"123','"+nam.getText()+"','"+sex+"','"+clas. getText()+"','"+scl.getText()+"')";// int a = stmt.executeUpdate("insert into STU(ID , Pwd , Name , Sex , Class , Collage)values('"+num.getText()+"','"+"12345678','"+nam.getText()+"','"+sex+"',' "+clas.getText()+"','"+scl.getText()+"')");System.out.println(str);int a = stmt.executeUpdate(str);if(a==1){JOptionPane.showMessageDialog(s," 已成功添加");}else{JOptionPane.showMessageDialog(s," 添加失败");stmt.close();}catch (SQLException se){JOptionPane.showMessageDialog(s,se.getMessage());}}else{num.setText("");nam.setText("");clas.setText("");scl.setText("");num.requestFocus();}}public static void main(String[] args){AddMsg amg = new AddMsg();}5、学生成绩添加:import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class Addscore extends JFrame implements ActionListener}{static Addscore ss;JLabel[] label = {new JLabel(‘"学号:”),new JLabel(‘计算机网络:”),new JLabefLi nux 操作系统:”),n ew JLabel("计算机专业英语:”),new JLabel("计算机信息技术基础:"),new JLabel("Java程序设计:"),new JLabel ("数据库应用实训教程:"),new JLabel('高等数学:"),new JLabel("XML:")};JTextField[] txt = {new JTextField() , new JTextField() , new JTextField () , new JTextField() , new JTextField() ,new JTextField() , new JTextField() ,new JTextField() ,new JTextField() };JButton add = new JButton(" 添加");JButton reset = new JButton(" 重置");JPanel jpl = new JPanel();JLabel title = new JLabel(" 添加学生成绩" , JLabel.CENTER);Font f = new Font(" 黑体" , Font.BOLD , 16 );int s = 100;public Addscore(){super("添加学生信息");this.setResizable(false);this.setSize(500,600); this.setDefaultCloseOperation(EXIT_ONCLOSE);this.setVisible(true);this.add(jpl);add.addActionListener(this);reset.addActionListener(this);jpl.setLayout(null);title.setBounds(150,40,200,20);title.setFont(f);title.setForeground(Color.red);jpl.setBackground(Color.LIGHT_GRAY);jpl.add(title);for(int i = 0 ; i <label.length ; i++){label[i].setBounds(100,s,140,20);jpl.add(label[i]);txt[i].setBounds(260,s,140,20); jpl.add(txt[i]);s=s+40;}add.setBounds(150,s,80,20);reset.setBounds(250,s,80,20);jpl.add(add);jpl.add(reset);}public void actionPerformed(ActionEvent e){if(e.getSource()==add){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(ss,ce.getMessage());}tryConnectioncon DriverManager.getConnection("jdbc:odbc:shujuku","sa","");Statement stmt = con.createStatement();int a = stmt.executeUpdate("insert into 计算机系成绩(SID , 计算机网络, Linux 操作系统, 计算机专业英语, 计算机信息技术基础, Java 程序设计, 数据库应用实训教程, 高等数学,Xml)values('"+txt[0].getText()+"','"+txt[1].getText()+"','"+txt[2].getText()+"','"+txt[ 3].get Text()+"','"+txt[4].getText()+"','"+txt[5].getText()+"','"+txt[6].getText()+"','"+txt[7].getText()+"','"+txt[8].getText()+"')");if(a==1){JOptionPane.showMessageDialog(ss," 添加成功");}else{JOptionPane.showMessageDialog(ss," 添加失败");}}catch (SQLException se){JOptionPane.showMessageDialog(ss,se.getMessage());else{for(int i = 0 ; i<txt.length ; i++) {txt[i].setText(""); txt[0].requestFocus();}}}public static void main(String[] args){Addscore as = new Addscore();}}6、学生信息查询:import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.sql.*;public class Serch extends JFrame implements ActionListener{/* 查询学生信息控件*/static Serch s;JPanel jpl = new JPanel();JLabel SCH = new JLabel(喳询学生信息"JLabel.CENTER);JLabel labell = new JLabel("请输入学号:",JLabel.CENTER);JButton serch = new JButton(" 喳询");JLabel label2 = new JLabel("姓名:",JLabel.CENTER);JLabel label3 = new JLabel("班级:",JLabel.CENTER); JLabel label4 = new JLabel("学校:",JLabel.CENTER); JLabel label5 = new JLabel("性别:",JLabel.CENTER); ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton(" 男"); JRadioButton women = new JRadioButton(" 女"); JTextField num = new JTextField();JTextField nam = new JTextField();JTextField clas = new JTextField();JTextField scl = new JTextField();JButton reset = new JButton(" 重置");public Serch(){this.setSize(500,400);this.setVisible(true);this.setResizable(false);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);this.add(jpl);jpl.setLayout(null);serch.addActionListener(this);reset.addActionListener(this);/*查询面板*/SCH.setBounds(100,20,300,20);num.setBounds(220,60,140,20); jpl.add(num);serch.setBounds(120,100,90,20); reset.setBounds(260,100,90,20); jpl.add(serch);jpl.add(reset);label2.setBounds(100,140,70,20); jpl.add(label2);nam.setBounds(190,140,140,20); jpl.add(nam);label5.setBounds(100,180,70,20); jpl.add(label5);man.setBounds(205,180,60,20); women.setBounds(285,180,60,20); bgp.add(man);bgp.add(women);jpl.add(man);jpl.add(women);label3.setBounds(100,220,70,20); jpl.add(label3);clas.setBounds(190,220,140,20);scl.setBounds(190,260,140,20);jpl.add(scl);}public void actionPerformed(ActionEvent e)String id = num.getText();if(e.getSource()==serch){try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(s,ce.getMessage());}try{Connection conDriverManager.getConnection("jdbc:odbc:shujuku","sa","");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select * from STU where ID = '" + id + "'");while(rs.next()){nam.setText(rs.getString("Name"));if(rs.getStri ng("Sex").equals("男")){man.setSelected(true);}else{women.setSelected(true);}clas.setText(rs.getString("Class"));scl.setText(rs.getString("Collage"));}}catch (SQLException se){JOptionPane.showMessageDialog(s,se.getMessage());}}}public static void main(String[] args){Serch sch = new Serch();7、学生成绩查询import java.awt.*;import javax.swing.*;import java.awt.event.*;import java.awt.font.*;import java.sql.*;public class Score extends JFrame implements ActionListener{static Score s;JLabel title = new JLabel(" 查询成绩",JLabel.CENTER);Font f = new Font(" 楷体",Font.BOLD+Font.ITALIC,16);JPanel jpl = new JPanel();JLabel labell = new JLabel("请输入学号:"JLabel.CENTER);JTextField num = new JTextField();JButton serch = new JButton(" 查询成绩");JButton reset = new JButton(" 重置");JLabel label2 = new JLabel("计算机网络:",JLabel.LEFT);JLabel label3 = new JLabel("Linux 操作系统:",JLabel.LEFT);JLabel Iabel4 = new JLabel("计算机专业英语:"JLabel.LEFT);JLabel Iabel5 = new JLabel("计算机信息技术基础:",JLabel.LEFT);JLabel label6 = new JLabel("Java 程序设计:",JLabel.LEFT);JLabel label7 = new JLabel("数据库:",JLabel.LEFT);JLabel label8 = new JLabel("高等数学:",JLabel.LEFT);JLabel label9 = new JLabel("XML:",JLabel.LEFT);JTextField[] txt ={ new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField()};static int p = 140;public Score(){super(”查询分数");this.setResizable(false);this.setSize(500,550);this.setVisible(true);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);title.setFont(f);this.add(jpl);jpl.setLayout(null);title.setBounds(100,20,300,20); jpl.add(title);label1.setBounds(100,60,90,20); jpl.add(label1);num.setBounds(210,60,140,20); jpl.add(num);serch.setBounds(130,100,90,20); reset.setBounds(240,100,90,20); jpl.add(serch);jpl.add(reset);serch.addActionListener(this); reset.addActionListener(this);label2.setBounds(100,140,140,20); label3.setBounds(100,180,140,20); label4.setBounds(100,220,140,20); label5.setBounds(100,260,140,20); label6.setBounds(100,300,140,20); label7.setBounds(100,340,140,20); label8.setBounds(100,380,140,20);jpl.add(label2);jpl.add(label3);jpl.add(label4);jpl.add(label5);label9.setBounds(100,420,140,20);jpl.add(label6);jpl.add(label7);jpl.add(label8);jpl.add(label9);for(int i = 0 ;i<txt.length ; i++){txt[i].setBounds(260,p,140,20);jpl.add(txt[i]);p=p+40;}}public void actionPerformed(ActionEvent e) {if(e.getSource()==serch){String id = num.getText();tryClass.forName("sun.jdbc.odbc.JdbcOdbcDriver");catch (ClassNotFoundException ce){JOptionPane.showMessageDialog(s,ce.getMessage());}try {Connection con =DriverManager.getConnection("jdbc:odbc:shujuku","sa","");Statement stmt = con.createStatement();ResultSet rs = stmt.executeQuery("select 计算机系成绩.* from STU , 计算机系成绩where STU.ID ='" + id + "' AND STU.ID = 计算机系成绩.SID");while(rs.next()){for(int i = 0 ; i<txt.length ; i++){txt[i].setText(rs.getString(i+2));}catch (SQLException se){JOptionPane.showMessageDialog(s,se.getMessage());}}else{for(int i = 0;i<txt.length ; i++){txt[i].setText("");} num.setText("");}}}public static void main(String[] args){Score s = new Score();}}。
java+sqlserver实现学⽣信息管理系统⽬录⼀.实现效果⼆.实现代码1.DBUtil.java2.操作程序test.java前提:1.建⽴了与sqlserver数据库的连接(JTDS连接sqlserver数据库的包jtds-1.2.7.jar)2. 了解JDBC执⾏SQL的语法⼀.实现效果⼆.实现代码1.DBUtil.java说明:直接复制必然出错。
因为要连接⾃⼰的数据库,其中部分数据说明:Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存");//本机V8 ip 192.168.223.1//在数据库中建⽴的⼀个登录名 admin//登录名admin 的密码 123123//要连接的数据库物流寄存(因为是临时作业就先随便找个数据库放了)DBUtil.javaimport java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.SQLException;import java.sql.Statement;import java.text.SimpleDateFormat;import java.util.Date;public class DBUtil{//连接数据库private static Connection getSQLConnection(String ip, String user, String pwd, String db){Connection con = null;try{Class.forName("net.sourceforge.jtds.jdbc.Driver");//con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + ip + ":1433/" + db + ";charset=utf8", user, pwd);//jdbc:jtds:sqlserver://localhost:1433/dbname//解决输出中⽂乱码con = DriverManager.getConnection("jdbc:jtds:sqlserver://" + ip + ":1433/" + db , user, pwd);} catch (ClassNotFoundException e){e.printStackTrace();} catch (SQLException e){e.printStackTrace();}return con;}//查询public static String QuerySQL(){String result = "";try{ //10.0.2.2 android ip//本机V8 ip 192.168.223.1Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存");String sql = "select * from 学⽣信息表";Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql);//System.out.println(rs);while (rs.next()){//学号、姓名、班级、性别、专业、学院String s1 = rs.getString("学号").trim();String s2 = rs.getString("姓名").trim();String s3 = rs.getString("班级").trim();String s4 = rs.getString("性别").trim();String s5 = rs.getString("专业").trim();String s6 = rs.getString("学院").trim();result += s1 + " " + s2 + " " + s3 + " " + s4+ " " + s5+" "+s6+"\n";// System.out.println(s1 + " - " + s2);}rs.close();stmt.close();conn.close();} catch (SQLException e){e.printStackTrace();result += "查询数据异常!" + e.getMessage();}return result;}//插⼊学⽣信息public static String insert_student(String sno,String name,String banji,String sex,String shuanye,String xueyuan){//学号、姓名、班级、性别、专业、学院String result = "";try{ //10.0.2.2 android ip//本机V8 ip 192.168.223.1Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存");String sql = "insert into 学⽣信息表 values ('"+sno+"','"+name+"','"+banji+"','"+sex+"','"+shuanye+"','"+xueyuan+"');"; Statement stmt = conn.createStatement();stmt.executeUpdate(sql);stmt.close();conn.close();result+="插⼊成功";} catch (SQLException e){e.printStackTrace();result += "查询数据异常!" + e.getMessage();}return result;}//删除学⽣信息public static String delete_student(String sno){//学号、姓名、班级、性别、专业、学院String result = "";try{ //10.0.2.2 android ip//本机V8 ip 192.168.223.1Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存");String sql = "delete 学⽣信息表 where 学号 = " + sno;Statement stmt = conn.createStatement();stmt.executeUpdate(sql);stmt.close();conn.close();result+="删除成功";} catch (SQLException e){e.printStackTrace();result += "查询数据异常!" + e.getMessage();}return result;}//按学号查询public static String QuerySQL_sno(String sno){String result = "";try{ //10.0.2.2 android ip//本机V8 ip 192.168.223.1 171.120.157.130Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存"); String sql = "select * from 学⽣信息表 where 学号 = '"+ sno+"';";Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql);while (rs.next()){//学号、姓名、班级、性别、专业、学院String s1 = rs.getString("学号").trim();String s2 = rs.getString("姓名").trim();String s3 = rs.getString("班级").trim();String s4 = rs.getString("性别").trim();String s5 = rs.getString("专业").trim();String s6 = rs.getString("学院").trim();result += s1 + " " + s2 + " " + s3 + " " + s4+ " " + s5+" "+s6+"\n";// System.out.println(s1 + " - " + s2);}rs.close();stmt.close();conn.close();} catch (SQLException e){e.printStackTrace();result += "查询数据异常!" + e.getMessage();}return result;}//按性别查询public static String QuerySQL_sex(String sex){String result = "";try{ //10.0.2.2 android ip//本机V8 ip 192.168.223.1 171.120.157.130Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存"); String sql = "select * from 学⽣信息表 where 性别 = '"+sex+"';";Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql);while (rs.next()){//学号、姓名、班级、性别、专业、学院String s1 = rs.getString("学号").trim();String s2 = rs.getString("姓名").trim();String s3 = rs.getString("班级").trim();String s4 = rs.getString("性别").trim();String s5 = rs.getString("专业").trim();String s6 = rs.getString("学院").trim();result += s1 + " " + s2 + " " + s3 + " " + s4+ " " + s5+" "+s6+"\n";// System.out.println(s1 + " - " + s2);}rs.close();stmt.close();conn.close();} catch (SQLException e){e.printStackTrace();result += "查询数据异常!" + e.getMessage();}return result;}//按学院查询public static String QuerySQL_xueyuan(String xueyuan){String result = "";try{ //10.0.2.2 android ip//本机V8 ip 192.168.223.1 171.120.157.130Connection conn = getSQLConnection("192.168.223.1", "admin", "123123", "物流寄存");String sql = "select * from 学⽣信息表 where 学院 = '"+ xueyuan +"';";Statement stmt = conn.createStatement();ResultSet rs = stmt.executeQuery(sql);//System.out.println(rs);while (rs.next()){//学号、姓名、班级、性别、专业、学院String s1 = rs.getString("学号").trim();String s2 = rs.getString("姓名").trim();String s3 = rs.getString("班级").trim();String s4 = rs.getString("性别").trim();String s5 = rs.getString("专业").trim();String s6 = rs.getString("学院").trim();result += s1 + " " + s2 + " " + s3 + " " + s4+ " " + s5+" "+s6+"\n";// System.out.println(s1 + " - " + s2);}rs.close();stmt.close();conn.close();} catch (SQLException e){e.printStackTrace();result += "查询数据异常!" + e.getMessage();}return result;}public static void main(String[] args){QuerySQL();}}2.操作程序test.java说明:只要DBUtil.java⽆错误,并且可以利⽤DBUtil.java操作数据库,则这个test.java可以直接复制import java.util.*;public class test {public static void main(String[] args){Scanner in = new Scanner(System.in);int flag = 0;String sno = "", name = " ", banji = " ", sex = " ", shuanye = " ", xueyuan = " ";System.out.println(" 学⽣信息管理程序 ");System.out.println(" 0.查看控制⾯板 ");System.out.println(" 1.查询全体学⽣信息 ");System.out.println(" 2.插⼊学⽣信息 ");System.out.println(" 3.删除学⽣ ");System.out.println(" 4.修改学⽣信息 ");System.out.println(" 5.查询相关信息 ");System.out.println(" 6.退出 ");while(true) {System.out.println(" 输⼊要继续执⾏的操作:");flag = in.nextInt();in.nextLine();if(flag == 6) break;else {switch (flag) {case 0:System.out.println(" 0.查看控制⾯板 ");System.out.println(" 1.查询全体学⽣信息 ");System.out.println(" 2.插⼊学⽣信息 ");System.out.println(" 3.删除学⽣ ");System.out.println(" 4.修改学⽣信息 ");System.out.println(" 5.查询相关信息 ");System.out.println(" 6.退出 ");break;case 1://查询全部System.out.println("查询全体学⽣信息:");System.out.print(DBUtil.QuerySQL());break;case 2://插⼊信息System.out.println("请输⼊要插⼊的学⽣的信息(以空格隔开):");String str = in.nextLine();String[] S = str.split(" ");sno = S[0];name = S[1];banji = S[2];sex = S[3];shuanye = S[4];xueyuan = S[5];System.out.print(DBUtil.insert_student(sno, name, banji, sex, shuanye, xueyuan)); break;case 3://删除学⽣信息System.out.println("请输⼊要删除的学⽣的学号:");sno = in.nextLine();System.out.print(DBUtil.delete_student(sno));break;case 4://修改学⽣信息System.out.println("请输⼊要修改的学⽣的学号:");sno = in.nextLine();DBUtil.delete_student(sno);System.out.println("请输⼊要修改的学⽣的信息以空格隔开(学号不可修改):");String str2 = in.nextLine();String[] S2 = str2.split(" ");name = S2[0];banji = S2[1];sex = S2[2];shuanye = S2[3];xueyuan = S2[4];DBUtil.insert_student(sno, name, banji, sex, shuanye, xueyuan);System.out.println("修改之后的数据:");break;case 5://查询相关信息System.out.println(" 1.按学院查询 ");System.out.println(" 2.按学号查询 ");System.out.println(" 3.按性别查询 ");int FLG = Integer.parseInt(in.nextLine());//in.nextInt();switch(FLG){case 1 ://按学院查询System.out.println("要查询的学院:");String temp_xueyuan = in.nextLine();System.out.print(DBUtil.QuerySQL_xueyuan(temp_xueyuan));break;case 2 ://按学号查询System.out.println("要查询学⽣的学号:");String temp_sno = in.nextLine();System.out.print(DBUtil.QuerySQL_sno(temp_sno));break;case 3://按性别查询System.out.println("要查询的性别:");String temp_sex = in.nextLine();System.out.print(DBUtil.QuerySQL_sex(temp_sex));break;}break;}//switch}//else}}}。
《学生成绩管理系统》课程设计实验报告题目学生成绩管理系统学院数学与信息工程学院专业计算机科学与技术班级同组成员编写日期一、课程设计目的做这个小的学生成绩管理系统来加深对JAVA所学知识的巩固,以及学习JAVA与数据库的连接和JAVA的GUI图形界面。
二、需求分析此系统实现如下系统功能:(1)使得学生的成绩管理工作更加清晰、条理化、自动化。
(2)通过用户名和密码登录系统,查询学生基本资料,学生所学课程成绩,等功能。
容易地完成学生信息的查询操作。
(3) 设计人机友好界面,功能安排合理,操作使用方便,并且进一步考虑系统在安全性,完整性,并发控制,备份和恢复等方面的功能要求。
三、系统模块设计此系统可分为2个模块,教师管理模块和学生操作模块,期中教师又包括学生信息输入与学生成绩录入等;学生模块则包括学生成绩查询与学生信息录入查询操作等。
1Class Char(10) ————班级Collage Char(10) ————学院2、教师表Field Type Null Key CommentID Varchar(10) ——PRI 用户名Pwd Varchar(10) ————密码3、成绩表Field Type Null Key CommentSid char(10) ——PRI 学号计算机网络char(10) ————课程Linux操作系统char(10) ————课程计算机专业英语char(10) ————课程计算机信息技术char(10) ————课程Java程序设计char(10) ————课程数据库应用实训char(10) ————课程高等数学char(10) ————课程XML char(10) ————课程五、E-R图六、心得体会通过本次课程设计,成功的完成了这个小型简单的系统的设计,在整个设计过程中我对JAVA使用和它强大的作用有了一个更深刻的认识,尽管这个系统很简单,但是它让我综合运用了这个学期所学的JAVA的很多内容,在此基础上,对JAVA的基础知识得到了更好的巩固。
在制作的过程中我也学到很多思想:首先,要学会统筹全局,合理规划,例如在制作整个框架的时候提前就要做全面考虑,要把整个结构图画出来,并且要对数据库表里的东西做全面规划。
同时在编写程序的时候也要想好先实现什么功能,再实现什么功能,这样做出来的东西才有条理性,更容易实现和理解。
其次,要细心仔细。
Java程序虽然容易理解,但在写的过程中一不留心就会出现错误。
当然出错是在所难免的,与性质有关的错误可以经过思考讨论后进行改正,但如果粗心大意,出现输入上的错误就很难发现和修改,会耽误很多时间。
我认为最大的收获是提高了自己的动手能力。
在平时的上机中大多数是根据书上的思想和布局来写程序的。
这次的课程设计要自己思考自己写,考虑的东西比平时上机考虑的要多的多。
在整个设计过程中写代码不是最难的,最难的是构思和布局。
这次课程设计也是一次很好的实践活动,让我们体会到了java的神奇作用。
附录:源代码1、用户登录界面import .*;import .*;import .*;public class Systems extends JFrame implements ActionListener {static Systems ss;JPanel panel = new JPanel();JLabel label1 = new JLabel("输入姓名:");JTextField name = new JTextField();JLabel label2 = new JLabel("密码:");JPasswordField pwd = new JPasswordField();JButton Enter = new JButton("登录");JButton Exit = new JButton("退出");String url = "E:\\mysql\\";ButtonGroup bgp = new ButtonGroup();JRadioButton stu = new JRadioButton("学生");JRadioButton tch = new JRadioButton("教师");public Systems(){super("登录系统");(false);JLabel img = new JLabel(new ImageIcon(url));(0,0,500,125);(img);(165,210,70,20);(265,210,70,20);(stu);(tch);(stu);(tch);(150,250,80,20);(270,250,80,20);(this);(this);(Enter);(Exit);(null);(panel);(135,130,100,25);(label1);(265,130,100,25);(name);(135,165,100,25);(label2);(265,165,100,25);(pwd);(100,100,500,350);(true);;}public void actionPerformed(ActionEvent e){if()==Enter){String username , password;username = ();password = new String());try{}catch (ClassNotFoundException ce){(ss,());}if()){try{Connection con = ("jdbc:odbc:shujuku","sa","");Statement stmt = ();ResultSet rs = ("select * from STU");while()){if("ID").equals(username))if(("Pwd").equals(password))){(ss,"登陆成功");Students stu = new Students();}else{(ss,"登录失败");}}();();}catch (SQLException se){(ss,());}}else if()){try{Connection con = ("jdbc:odbc:shujuku","sa","");Statement stmt = ();ResultSet rs = ("select * from TCH");while()){if("ID").equals(username))if(("Pwd").equals(password))){(ss,"登陆成功");Teachers tch=new Teachers();}else{(ss,"登录失败");}}}catch (SQLException se){(ss,());}}}else{(0);}}public static void main(String[] args){Systems sys = new Systems();}}2、学生登录界面:import .*;import .*;public class Students extends JFrame implements ActionListener{JMenuBar jmb = new JMenuBar();JMenu Message = new JMenu("信息");JMenu Score = new JMenu("成绩");JMenuItem Item1 = new JMenuItem("插入");JMenuItem Item2 = new JMenuItem("查询");JMenuItem Item3 = new JMenuItem("查询");public Students(){super("学生界面");(500,400);(true);(false);;(jmb);(Message);(Score);(Item1);(Item2);(Item3);(this);(this);(this);}public void actionPerformed(ActionEvent e) {if()==Item1){AddMsg ad = new AddMsg();}else if()==Item2){Serch ser = new Serch();}else{Score so = new Score();}}public static void main(String[] args){Students stu = new Students();}}3、教师登录界面:import .*;public class Teachers extends JFrame implements ActionListener {JMenuBar bar = new JMenuBar();JMenu menu1 = new JMenu("信息");JMenu menu2 = new JMenu("成绩");JMenuItem item1 = new JMenuItem("录入信息");JMenuItem item2 = new JMenuItem("录入成绩");JPanel jpl = new JPanel();public Teachers(){super("教师界面");(500,300);(false);(true);;(bar);(jpl);(null);(menu1);(menu2);(item1);(item2);(this);(this);}public void actionPerformed(ActionEvent e){if()==item1){AddMsg msg = new AddMsg();}else{Addscore as = new Addscore();}}public static void main(String[] args){Teachers tch = new Teachers();}}4、学生用户添加界面:import .*;import .*;public class AddMsg extends JFrame implements ActionListener {static AddMsg s;/*添加学生信息控件*/JPanel jpl = new JPanel();JLabel label1 = new JLabel("添加基本信息",;JLabel label2 = new JLabel("学号:",;JLabel label3 = new JLabel("姓名:",;JLabel label4 = new JLabel("性别:",;JLabel label5 = new JLabel("班级:",;JLabel label6 = new JLabel("学院:",;JTextField num = new JTextField(2);JTextField nam = new JTextField(4);ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JTextField clas = new JTextField();JTextField scl = new JTextField();JButton reset = new JButton("重置");JButton addmsg = new JButton("添加");public AddMsg(){super("添加学生信息");(false);(500,400);(true);;(jpl);(null);(this);(this);/*插入面板*/(100,20,300,20);(label1);(100,50,70,20);(label2);(190,50,140,20);(num);(100,90,70,20);(label3);(190,90,140,20);(nam);(100,130,70,20);(label4);(190,130,60,20);(270,130,60,20);(man);(women);(man);(women);(100,170,70,20);(label5);(190,170,140,20);(clas);(100,210,70,20);(label6);(190,210,140,20);(scl);(120,250,90,20);(240,250,90,20);(reset);(addmsg);}public void actionPerformed(ActionEvent e){if()==addmsg){String sex;if()){sex="男";}else{sex="女";}try{}catch (ClassNotFoundException ce){(s,());}try{Connection con = ("jdbc:odbc:shujuku","sa","");Statement stmt = ();String str = "insert into STU(ID , Pwd , Name , Sex , Class , Collage)values('"+()+"','"+"123','"+()+"','"+sex+"','"+()+"','"+()+"' )";int a = (str);if(a==1){(s,"已成功添加");}else{(s,"添加失败");}();}catch (SQLException se){(s,());}}else{("");("");("");("");();}}public static void main(String[] args){AddMsg amg = new AddMsg();}}5、学生成绩添加:import .*;import .*;import .*;public class Addscore extends JFrame implements ActionListener{static Addscore ss;JLabel[] label = {new JLabel("学号:") , new JLabel("计算机网络:") , new JLabel("Linux操作系统:") , new JLabel("计算机专业英语:") , new JLabel("计算机信息技术基础:") , new JLabel("Java程序设计:") , newJLabel("数据库应用实训教程:") , new JLabel("高等数学:") , new JLabel("XML:")};JTextField[] txt = {new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField() ,new JTextField() ,new JTextField() };JButton add = new JButton("添加");JButton reset = new JButton("重置");JPanel jpl = new JPanel();JLabel title = new JLabel("添加学生成绩" , ;Font f = new Font("黑体" , , 16 );int s = 100;public Addscore(){super("添加学生信息");(false);(500,600);(EXIT_ON_CLOSE);(true);(jpl);(this);(this);(null);(150,40,200,20);(f);;;(title);for(int i = 0 ; i < ; i++){label[i].setBounds(100,s,140,20);(label[i]);txt[i].setBounds(260,s,140,20);(txt[i]);s=s+40;}(150,s,80,20);(250,s,80,20);(add);(reset);}public void actionPerformed(ActionEvent e){if()==add){try{}catch (ClassNotFoundException ce){(ss,());}try{Connection con = ("jdbc:odbc:shujuku","sa","");Statement stmt = ();int a = ("insert into 计算机系成绩(SID , 计算机网络 , Linux操作系统 , 计算机专业英语 , 计算机信息技术基础 , Java程序设计 , 数据库应用实训教程, 高等数学, Xml)values('"+txt[0].getText()+"','"+txt[1].getText()+"','"+txt[2].ge tText()+"','"+txt[3].getText()+"','"+txt[4].getText()+"','"+txt[5].ge tText()+"','"+txt[6].getText()+"','"+txt[7].getText()+"','"+txt[8].ge tText()+"')");if(a==1){(ss,"添加成功");}else{(ss,"添加失败");}}catch (SQLException se){(ss,());}}else{for(int i = 0 ; i< ; i++){txt[i].setText("");txt[0].requestFocus();}}}public static void main(String[] args){Addscore as = new Addscore();}}6、学生信息查询:import .*;import .*;import .*;public class Serch extends JFrame implements ActionListener {/*查询学生信息控件*/static Serch s;JPanel jpl = new JPanel();JLabel SCH = new JLabel("查询学生信息",;JLabel label1 = new JLabel("请输入学号:",;JButton serch = new JButton("查询");JLabel label2 = new JLabel("姓名:",;JLabel label3 = new JLabel("班级:",;JLabel label4 = new JLabel("学校:",;JLabel label5 = new JLabel("性别:",;ButtonGroup bgp = new ButtonGroup();JRadioButton man = new JRadioButton("男");JRadioButton women = new JRadioButton("女");JTextField num = new JTextField();JTextField nam = new JTextField();JTextField clas = new JTextField();JTextField scl = new JTextField();JButton reset = new JButton("重置");public Serch(){(500,400);(true);(false);;(jpl);(null);(this);(this);/*查询面板*/(100,20,300,20);(SCH);(100,60,100,20);(label1);(220,60,140,20);(num);(120,100,90,20);(260,100,90,20);(serch);(reset);(100,140,70,20);(label2);(190,140,140,20);(nam);(100,180,70,20);(label5);(205,180,60,20);(285,180,60,20);(man);(women);(man);(women);(100,220,70,20);(label3);(190,220,140,20);(clas);(100,260,70,20);(label4);(190,260,140,20);(scl);}public void actionPerformed(ActionEvent e){String id = ();if()==serch){try{}catch (ClassNotFoundException ce){(s,());}try{Connection con = ("jdbc:odbc:shujuku","sa","");Statement stmt = ();ResultSet rs = ("select * from STU where ID = '" + id + "'");while()){("Name"));if("Sex").equals("男")){(true);}else{(true);}("Class"));("Collage"));}}catch (SQLException se){(s,());}}}public static void main(String[] args){Serch sch = new Serch();}}7、学生成绩查询import .*;import .*;import .*;public class Score extends JFrame implements ActionListener {static Score s;JLabel title = new JLabel("查询成绩",;Font f = new Font("楷体",+,16);JPanel jpl = new JPanel();JLabel label1 = new JLabel("请输入学号:",;JTextField num = new JTextField();JButton serch = new JButton("查询成绩");JButton reset = new JButton("重置");JLabel label2 = new JLabel("计算机网络:",;JLabel label3 = new JLabel("Linux操作系统:",;JLabel label4 = new JLabel("计算机专业英语:",;JLabel label5 = new JLabel("计算机信息技术基础:",;JLabel label6 = new JLabel("Java程序设计:",;JLabel label7 = new JLabel("数据库:",;JLabel label8 = new JLabel("高等数学:",;JLabel label9 = new JLabel("XML:",;JTextField[] txt ={ new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() , new JTextField() ,new JTextField() , new JTextField()};static int p = 140;public Score(){super("查询分数");(false);(500,550);(true);;(f);(jpl);(null);(100,20,300,20);(title);(100,60,90,20);(label1);(210,60,140,20);(num);(130,100,90,20);(240,100,90,20);(serch);(reset);(this);(this);(100,140,140,20);(100,180,140,20);(100,220,140,20);(100,260,140,20);(100,300,140,20);(100,340,140,20);(100,380,140,20);(100,420,140,20);(label2);(label3);(label4);(label5);(label6);(label7);(label8);(label9);for(int i = 0 ;i< ; i++)txt[i].setBounds(260,p,140,20);(txt[i]);p=p+40;}}public void actionPerformed(ActionEvent e){if()==serch){String id = ();try{}catch (ClassNotFoundException ce){(s,());}try{Connection con = ("jdbc:odbc:shujuku","sa","");Statement stmt = ();ResultSet rs = ("select 计算机系成绩.* from STU , 计算机系成绩 where ='" + id + "' AND = 计算机系成绩.SID");while()){for(int i = 0 ; i< ; i++){txt[i].setText(i+2));}}}catch (SQLException se){(s,());}}else{for(int i = 0;i< ; i++){txt[i].setText("");}("");}public static void main(String[] args) {Score s = new Score();}}。