2022年Java实现学生成绩管理系统 .pdf

上传人:Che****ry 文档编号:34879471 上传时间:2022-08-19 格式:PDF 页数:24 大小:490.45KB
返回 下载 相关 举报
2022年Java实现学生成绩管理系统 .pdf_第1页
第1页 / 共24页
2022年Java实现学生成绩管理系统 .pdf_第2页
第2页 / 共24页
点击查看更多>>
资源描述

《2022年Java实现学生成绩管理系统 .pdf》由会员分享,可在线阅读,更多相关《2022年Java实现学生成绩管理系统 .pdf(24页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、课 程 设 计 报 告课程设计名称:学生成绩管理系统系别 :三系学生姓名:班级:学号:成绩:指导教师:开课时间:学年学期名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 24 页 - - - - - - - - - 一设计题目学生成绩管理系统二主要内容学生成绩管理系统从功能上划分可分为以下几大模块:1. 学生信息管理学生信息管理模块:设置学生基本信息,并可以对学生信息进行添加、修改、删除。2. 课程信息管理课程信息管理: 设置课程号, 课程名, 任课教师等课程信息,并可以对

2、课程信息进行添加、修改、删除。3. 学生成绩管理成绩信息管理模块:设置成绩信息,并可以对成绩信息进行添加、修改、删除。还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。输出查询的学生成绩信息,并对学生成绩总分,平均分等进行统计。三具体要求1. 具有良好的系统性能,友好的用户界面2. 较高的处理效率,便于使用和维护3. 采用成熟的技术开发,是系统具有较高的技术水平和较长的生命周期4. 系统尽可能简化重复工作,提高工作效率简化数据查询、降低统计难度四进度安排五成绩评定序号内容时间(天)1 调试工具使用0.5 2 概要设计1 3 详细设计2 4 调试分析0.5 5 测试结果1 6 总

3、结和完成设计报告2 合计7 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 24 页 - - - - - - - - - 1、系统的需求分析和功能设计需求分析部分:通过调研目前教学管理系统中的成绩管理子系统,了解成绩管理子系统的业务流程;通过分析比较,结合用户对成绩管理子系统的改进意见与实现情况,运用JAVA设计和实现一个简易的学生成绩管理子系统,以提高学生信息、课程、成绩管理的自动化、友好性等。本系统基于JAVA SE平台和 ACCESS 数据库,通过课程设计,可以使学

4、生对JAVA开发管理信息系统有一个全面的了解。学生成绩管理系统应具有以下要求:1. 具有良好的系统性能,友好的用户界面2. 较高的处理效率,便于使用和维护3. 采用成熟的技术开发,是系统具有较高的技术水平和较长的生命周期4. 系统尽可能简化重复工作,提高工作效率5. 简化数据查询、降低统计难度按客户需求,本学生成绩管理系统需实现以下几项功能:学生信息管理:学生信息管理模块:设置学生基本信息,并可以对学生信息进行添加、修改、删除。课程信息管理:课程信息管理: 设置课程号, 课程名, 任课教师等课程信息,并可以对课程信息进行添加、修改、删除。学生成绩管理“成绩信息管理模块:设置成绩信息,并可以对成

5、绩信息进行添加、修改、删除。还可以用关键字查询并调出数据库里的学生基本成绩信息的修改、删除等。 输出查询的学生成绩信息,并对学生成绩总分,平均分等进行统计。功能设计部分:学生成绩管理系统分为3 大功能模块,分别为:学生信息管理、课程管理、成绩管理。学生成绩管理系统从功能上划分可分为以下几大模块:学生信息管理学生信息管理模块:设置学生基本信息,并可以对学生信息进行添加、修改、删除。课程信息管理课程信息管理: 设置课程号, 课程名, 任课教师等课程信息,并可以对课程信息进行添加、修改、删除。学生成绩管理成绩信息管理模块:设置成绩信息,并可以对成绩信息进行添加、修改、删除。还可以用关键字查询并调出数

6、据库里的学生基本成绩信息的修改、删除等。输出查询的学生成绩信息,并对学生成绩总分,平均分等进行统计。系统各个部分及其包括的具体功能模块如图1 所示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 24 页 - - - - - - - - - 按照上述功能模块分析设计系统功能。2、源程序及注释由于此次课程设计中各界面构建代码又老师提供,因此要求我们自己添加的代码并不是很多,主要代码基本上都是在主界面的代码中添加完成,主界面部分关键代码及注释如下:public void ac

7、tionPerformed(ActionEvent e) if(e.getSource()=itemExit) System.exit(0); else if(e.getSource()=itemAddS) String xh=JOptionPane.showInputDialog(this,请输入要增加的学号, 学生成绩管理系统 ,JOptionPane.OK_CANCEL_OPTION); if(xh.length()=0) JOptionPane.showMessageDialog(this,学号不能为空, 请重新输入 ,学生信息管理系统,JOptionPane.INFORMATION_

8、MESSAGE); else StuInfo newst=new StuInfo(); newst.modifyInfo.setEnabled(false); newst.deleteInfo.setEnabled(false); 学生成绩管理系统学生信息管理课程信息管理成绩信息管理信息查询学生信息添加学生信息修改学生信息删除课程信息添加课程信息修改课程信息删除成绩信息添加成绩信息修改成绩信息删除学生信息查询课程信息查询成绩信息查询图 1 系统功能结构图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -

9、 - - - 第 4 页,共 24 页 - - - - - - - - - newst.clearInfo.setEnabled(false); newst.sNum.setText(xh); newst.sNum.setEnabled(false); else if(e.getSource()=itemEditS) String xh=JOptionPane.showInputDialog(this,请输入要修改的学号, 学生成绩管理系统,JOptionPane.OK_CANCEL_OPTION); if(xh.length()=0) JOptionPane.showMessageDialo

10、g(this,学号不能为空,请重新输入,学生信息管理系统,JOptionPane.INFORMATION_MESSAGE); else StuInfo newst=new StuInfo(); newst.addInfo.setEnabled(false); newst.deleteInfo.setEnabled(false); newst.clearInfo.setEnabled(false); newst.sNum.setText(xh); newst.sNum.setEnabled(false); try Class.forName(sun.jdbc.odbc.JdbcOdbcDrive

11、r); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=student.mdb; Connection conn=DriverManager.getConnection(url); Statement stmt=conn.createStatement(); String sqlstr=select * from xs where xh=+xh+; ResultSet rs=stmt.executeQuery(sqlstr); while(rs.next() if(rs.getString(xb).equals(

12、男) /判断获取性别字段时输出的 男 或 女 newst.xb1.setSelected(true); else newst.xb2.setSelected(true); newst.sName.setText(rs.getString(xm); newst.sBirth.setText(rs.getString(csrq); newst.sMajor.setText(rs.getString(zy); newst.sHome.setText(rs.getString(jg); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名

13、师精心整理 - - - - - - - 第 5 页,共 24 页 - - - - - - - - - catch(Exception E) else if(e.getSource()=itemDeleteS) String xh=JOptionPane.showInputDialog(this,请输入要删除的学号, 学生成绩管理系统,JOptionPane.OK_CANCEL_OPTION); if(xh.length()=0) JOptionPane.showMessageDialog(this,学号不能为空 , 请重新输入 ,学生信息管理系统,JOptionPane.INFORMATION

14、_MESSAGE); else StuInfo newst=new StuInfo(); newst.addInfo.setEnabled(false); newst.clearInfo.setEnabled(false); newst.modifyInfo.setEnabled(false); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=student.mdb; Connection conn=DriverMa

15、nager.getConnection(url); Statement stmt=conn.createStatement(); String sqlstr=select * from xs where xh=+xh+; ResultSet rs=stmt.executeQuery(sqlstr); while(rs.next() if(rs.getString(xb).equals(男 )/判断获取性别字段时输出的 男 或女 newst.xb1.setSelected(true); else newst.xb2.setSelected(true); newst.sNum.setText(rs

16、.getString(xh); newst.sName.setText(rs.getString(xm); newst.sBirth.setText(rs.getString(csrq); newst.sMajor.setText(rs.getString(zy); newst.sHome.setText(rs.getString(jg); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 24 页 - - - - - - - - - catch(Exception E)

17、else if(e.getSource()=itemAddC) courseInfo newst=new courseInfo(); newst.modifyInfo.setEnabled(false); newst.deleteInfo.setEnabled(false); newst.clearInfo.setEnabled(false); else if(e.getSource()=itemEditC) String kch=JOptionPane.showInputDialog(this,请输入要修改的课程的课程号 , 课程信息管理系统,JOptionPane.OK_CANCEL_OP

18、TION); if(kch.length()=0) JOptionPane.showMessageDialog(this,课程号不能为空,请重新输入, 课程信息管理系统,JOptionPane.INFORMATION_MESSAGE); else courseInfo newst=new courseInfo(); newst.addInfo.setEnabled(false); newst.deleteInfo.setEnabled(false); newst.clearInfo.setEnabled(false); newst.cNum.setText(kch); newst.cNum.s

19、etEnabled(false); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=student.mdb; Connection conn=DriverManager.getConnection(url); Statement stmt=conn.createStatement(); String sqlstr=select * from kc where kch=+kch+; ResultSet rs=stmt.

20、executeQuery(sqlstr); while(rs.next() newst.cName.setText(rs.getString(kcm); newst.cTeacher.setText(rs.getString(rkjs); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 24 页 - - - - - - - - - catch(Exception E) else if(e.getSource()=itemDeleteC) String kch=JOptio

21、nPane.showInputDialog(this,请输入要删除课程的课程号, 学生成绩管理系统,JOptionPane.OK_CANCEL_OPTION); if(kch.length()=0) JOptionPane.showMessageDialog(this,课程号不能为空, 请重新输入 ,课程信息管理系统,JOptionPane.INFORMATION_MESSAGE); else courseInfo newst=new courseInfo(); newst.addInfo.setEnabled(false); newst.clearInfo.setEnabled(false)

22、; newst.modifyInfo.setEnabled(false); newst.cNum.setText(kch); newst.cNum.setEnabled(false); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=student.mdb; Connection conn=DriverManager.getConnection(url); Statement stmt=conn.createStat

23、ement(); String sqlstr=select * from kc where kch=+kch+; ResultSet rs=stmt.executeQuery(sqlstr); while(rs.next() newst.cNum.setText(rs.getString(kch); newst.cName.setText(rs.getString(kcm); newst.cTeacher.setText(rs.getString(rkjs); catch(Exception E) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - -

24、 - - - - 名师精心整理 - - - - - - - 第 8 页,共 24 页 - - - - - - - - - else if(e.getSource()=itemAddG) gradeInfo newst=new gradeInfo(); newst.clearInfo.setEnabled(false); newst.modifyInfo.setEnabled(false); else if(e.getSource()=itemEditG) gradeInfo newst=new gradeInfo(); newst.addInfo.setEnabled(false); else

25、 if(e.getSource()=itemSearchMutGrd) cjcx newst=new cjcx(); 【学生信息管理】部分关键代码:public void actionPerformed(ActionEvent e) if(e.getSource()=addInfo) String xb; String xh=sNum.getText(); String xm= sName.getText(); if(xb1.isSelected() xb= 男; else xb= 女; String csrq=sBirth.getText(); String zy=sMajor.getTex

26、t(); String jg=sHome.getText(); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=student.mdb; Connection conn=DriverManager.getConnection(url); Statement stmt=conn.createStatement(); String sqlstr=insert into xs(xh,xm,xb,csrq,zy,jg) 名师

27、资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 24 页 - - - - - - - - - values(+xh+,+xm+,+xb+,+csrq+,+zy+,+jg+); int result=stmt.executeUpdate(sqlstr); if(result0) JOptionPane.showMessageDialog(this,数据添加成功 , 学生成绩管理系统 ,JOptionPane.INFORMATION_MESSAGE); this.setVisib

28、le(false); conn.close(); stmt.close(); catch(Exception E) if(e.getSource()=modifyInfo) String xb; String xh=sNum.getText(); String xm= sName.getText(); if(xb1.isSelected() xb= 男; else xb= 女; String csrq=sBirth.getText(); String zy=sMajor.getText(); String jg=sHome.getText(); try Class.forName(sun.jd

29、bc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=student.mdb; Connection conn=DriverManager.getConnection(url); Statement stmt=conn.createStatement(); String sqlstr=update xs set xm=+xm+,xb=+xb+,zy=+zy+,jg=+jg+ where xh=+xh+; int result=stmt.executeUpdate(sql

30、str); if(result0) JOptionPane.showMessageDialog(this,数据修改成功 , 学生成绩管理系统 ,JOptionPane.INFORMATION_MESSAGE); this.setVisible(false); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 24 页 - - - - - - - - - conn.close(); stmt.close(); catch(Exception E) if(e.getSourc

31、e()=deleteInfo) String xb; String xh=sNum.getText(); String xm= sName.getText(); if(xb1.isSelected() xb= 男; else xb= 女; String csrq=sBirth.getText(); String zy=sMajor.getText(); String jg=sHome.getText(); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access

32、Driver (*.mdb);DBQ=student.mdb; Connection conn=DriverManager.getConnection(url); Statement stmt=conn.createStatement(); String sqlstr=delete * from xs where xh=+xh+; int result=stmt.executeUpdate(sqlstr); if(result0) JOptionPane.showMessageDialog(this,数据删除成功 , 学生成绩管理系统 ,JOptionPane.INFORMATION_MESS

33、AGE); this.setVisible(false); conn.close(); stmt.close(); catch(Exception E) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 24 页 - - - - - - - - - 【课程信息管理】部分关键代码及注释:public void actionPerformed(ActionEvent e) if(e.getSource()=addInfo) String kch=cNum.getText();

34、 String kcm=cName.getText(); String rkjs= cTeacher.getText(); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=student.mdb; Connection conn=DriverManager.getConnection(url); Statement stmt=conn.createStatement(); String sqlstr=insert i

35、nto kc(kch,kcm,rkjs) values(+kch+,+kcm+,+rkjs+); int result=stmt.executeUpdate(sqlstr); if(result0) JOptionPane.showMessageDialog(this,数据添加成功 , 课程信息管理系统 ,JOptionPane.INFORMATION_MESSAGE); this.setVisible(false); conn.close(); stmt.close(); catch(Exception E) if(e.getSource()=modifyInfo) String kch=c

36、Num.getText(); String kcm=cName.getText(); String rkjs=cTeacher.getText(); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=student.mdb; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 24 页 - - -

37、- - - - - - Connection conn=DriverManager.getConnection(url); Statement stmt=conn.createStatement(); String sqlstr=update kc set kcm=+kcm+,rkjs=+rkjs+; int result=stmt.executeUpdate(sqlstr); if(result0) JOptionPane.showMessageDialog(this,数据修改成功 , 课程信息管理系统 ,JOptionPane.INFORMATION_MESSAGE); this.setV

38、isible(false); conn.close(); stmt.close(); catch(Exception E) if(e.getSource()=deleteInfo) int n=JOptionPane.showConfirmDialog(this,你确定要删除学号和所有的信息吗? , 课程信息管理系统,JOptionPane.YES_NO_OPTION); if(n=JOptionPane.YES_OPTION) String kch=cNum.getText(); String kcm=cName.getText(); String rkjs=cTeacher.getText

39、(); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ=student.mdb; Connection conn=DriverManager.getConnection(url); Statement stmt=conn.createStatement(); String sqlstr=delete * from kc where kch=+kch+; int result=stmt.executeUpdate(sq

40、lstr); if(result0) JOptionPane.showMessageDialog(this,数据删除成功 , 课程信息管理系统 ,JOptionPane.INFORMATION_MESSAGE); this.setVisible(false); conn.close(); stmt.close(); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 24 页 - - - - - - - - - catch(Exception E) else JOption

41、Pane.showMessageDialog(this,数据删除失败, 课程信息管理系统,JOptionPane.INFORMATION_MESSAGE); 【成绩信息管理】部分关键代码及注释:public void focusGained(FocusEvent e) if(e.getSource()=gName) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ= student.mdb; Connection co

42、nn=DriverManager.getConnection(url); Statement stmt=conn.createStatement(); String sqlstr=select * from xs where xh= +gNum.getText()+; ResultSet result=stmt.executeQuery(sqlstr); while(result.next() gName.setText(result.getString(xm); gName.setEnabled(false); gNum.setEditable(false); conn.close(); s

43、tmt.close(); catch(Exception E) else if(e.getSource()=gGrade) String kcm=(String)gCourse.getSelectedItem(); try 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 24 页 - - - - - - - - - Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Micr

44、osoft Access Driver (*.mdb);DBQ=student.mdb; Connection conn=DriverManager.getConnection(url); Statement stmt=conn.createStatement(); String sqlstr=select * from cj where xh=+gNum.getText()+ and kcm=+kcm+; ResultSet result=stmt.executeQuery(sqlstr); while(result.next() gGrade.setText(result.getStrin

45、g(cj); conn.close(); stmt.close(); catch(Exception w) public void focusLost(FocusEvent e) public void actionPerformed(ActionEvent e) if(e.getSource()=addInfo) if(gNum.getText().equals()|(gName.getText().equals() JOptionPane.showMessageDialog(this, 姓 名 和 学 号 、 成绩 不 能 为 空 , 提 示,JOptionPane.INFORMA TIO

46、N_MESSAGE); else String xh=gNum.getText(); String xm=gName.getText(); String cj=gGrade.getText(); String kcm=(String)gCourse.getSelectedItem(); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ= student.mdb; Connection conn=DriverManage

47、r.getConnection(url); Statement stmt=conn.createStatement(); String sqlstr=insert into cj(xh,kcm,cj) values(+xh+,+kcm+,+cj+); 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 24 页 - - - - - - - - - int rs=stmt.executeUpdate(sqlstr); if(rs0) JOptionPane.showMessa

48、geDialog(this, 成绩增加成功, 成绩信息管理系统,JOptionPane.INFORMA TION_MESSAGE); /System.out.println( 添加成功 ); conn.close(); stmt.close(); catch(Exception E) else if(e.getSource()=modifyInfo) grademodify(); else if(e.getSource()=clearInfo) gName.setText(); gNum.setText(); gGrade.setText(); gName.setEnabled(true);

49、gNum.setEditable(true); public void grademodify() String kcm=(String)gCourse.getSelectedItem(); String xh=gNum.getText(); try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); String url= jdbc:odbc:driver=Microsoft Access Driver (*.mdb);DBQ= student.mdb; Connection con=DriverManager.getConnection(url); S

50、tatement stm=con.createStatement(); String sqlstr3=update cj set cj=+gGrade.getText()+ where xh=+xh+ and kcm=+kcm+; int result3=stm.executeUpdate(sqlstr3); if(result30) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 24 页 - - - - - - - - - JOptionPane.showMessa

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com