基于Java与SQL数据库技术的学生成绩管理系统_.doc

上传人:飞****2 文档编号:56690489 上传时间:2022-11-03 格式:DOC 页数:32 大小:638KB
返回 下载 相关 举报
基于Java与SQL数据库技术的学生成绩管理系统_.doc_第1页
第1页 / 共32页
基于Java与SQL数据库技术的学生成绩管理系统_.doc_第2页
第2页 / 共32页
点击查看更多>>
资源描述

《基于Java与SQL数据库技术的学生成绩管理系统_.doc》由会员分享,可在线阅读,更多相关《基于Java与SQL数据库技术的学生成绩管理系统_.doc(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、目 录设计总说明 -II1. 课程设计目的与需求分析 -3 1.1 课程设计目的 -3 1.2 需求分析 -32. 设计思路与主功能设计 -4 2.1 设计思路 -4 2.1.1 开发环境和软件 -42.1.2 数据库表结构 -42.1.3 程序设计图 -4 2.2 功能设计与介绍 -53. 具体功能的介绍和数据测试 -53.1 登录界面 -53.2 主功能界面 -7 3.2.1 查询 -7 3.2.2 添加 -9 3.2.3 修改 -10 3.2.4 删除 -12 3.2.5 关于 -13 3.2.6 退出 -134. 课程设计总结 -145. 附录(程度代码) -15 设计总说明1. 设计

2、概况 名称:学生学籍管理系统 用途:学校等机构 功能:实现对学生学籍信息的管理与维护等功能2. 设计说明学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用SQL语句完成添加,查询,修改,删除的操作。用ODBC驱动实现前台Java与后台SQL数据库的连接。Java语言跨平台性强,可以在windows,linux,ubuntu等系统下使用,方便简单,安全性好。SQLServer2005数据库高效安全,两者结合可相互利用各自的优势。系统可供输入的属性有

3、“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。该系统实现的大致功能:1 管理员登陆界面。该界面可以输入管理员号,登陆密码。用户通过验证通过后方可进入管理系统。一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。2 查询学生信息。可以选择由用户选择“显示系统中当前的所有学生信息”。也可以选择按照“某一个学号查询该学号的学生信息”。查询到的信息会在窗口中依次显示出来。3 添加学生信息。可以按照图形的界面的显示依次输入新学生的“学号”,“姓名”,“性别”,“班级”,“学院”,“籍贯”。完成新纪录的添加。4 修改学生信息。可以选择按照“学号”或者“姓名”找到该学生的学生信息并输入要

4、修改的属性,并输入新的数据。完成对学生记录的修改。5 删除学生记录。可以根据输入的“学号”或者”姓名”进行删除的操作。3本系统只实现了基本操作功能,对于添加管理员,修改登录密码和数据库信息备份等功能并未提供,便利性和安全性仍有不足,使用过程中造成的不便还请谅解!学生学籍管理系统信管1081班,4,吴晓阳 信管1081班,4,陈秀丽指导教师:陈亮1 课程设计目的与需求分析1.1 课程设计目的本课程设计作为Java语言高级程序设计课程的延伸,在学生完成了Java语言高级程序设计课程的理论知识学习后,希望通过本次课程设计的实践操作,能够让学生懂得Java的各种相关知识的使用,真正的提高学生独立开发设

5、计Java程序,把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进步。1.2需求分析在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信息的难度也越来越大。而且效率也是很低的。所以如何自动高效地管理信息是这些年来许多人所研究的。随着这些年电脑计算机的速度质的提高,成本的下降,IT互联网大众趋势的发展。我们使用电脑的高效率才处理数据信息成为可能。 学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。学生学籍管理系统,以SQL数据库作为后

6、台信息存储,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 具体功

7、能的介绍和数据测试3.1 登录界面登录界面输入“管理员号”和“登录密码”,点击“确定”,通过验证则进入主功能菜单。如果输入错误则会有相应的警告! 1.当输入了一个未存在的管理员号时,会出现下图! 2当输入一个错误的密码时,会出现下图! 当前系统有两个管理员账号: 管理员号:4 密码: 管理员号:4 密码: 3.2 主功能界面3.2.1 查询 点击 , 则弹出下面的选择菜单。 1) 选择“显示所有学生记录”时,在控制台会显示当前系统中所有的学生记录 2) 选择“查询某个学生记录”时,会弹出一下窗口要求用户输入“学号”。 当系统中有要查询的学号记录时,系统会显示查询到的详细信息。 如果没有查询到,

8、则显示: 3.2.2 添加点击 ,会弹出输入框,如下图:在各个数据框中输入对应的信息(学号不能为空,且学号不能与已存在的记录重复),如果输入的新纪录的学号已经存在则: 如果添加的新纪录学号为空,则 如果输入的各项数据正常时,则点击“添加”按钮后,学生记录添加成功!3.2.3 修改点击 ,进行“修改”的操作,弹出下面的选择菜单。 1)选择按“学号”修改:将相应的数据填入输入框中,如果修改的记录不存在,则提示:如果数据正确且记录存在,则显示记录修改成功: 2) 按“姓名”修改,同上.3.2.4 删除点击 ,会显示下面的菜单。1) 选择按“学号”删除,出现以下窗口。 在弹出的窗口输入你要删除的记录的

9、学号。如果要删除的记录不存在,则显示 如果输入的的学号存在,则删除成功。3.2.5 关于 点击 ,显示本学生管理系统的作者相关信息。 3.2.6 退出点击 ,退出本学籍管理系统。4 课程设计总结课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程. 本次课程设计虽然很辛苦,实在是受益匪浅。本来这门课的知识学的就不够扎实,本次课程设计,在设计过程中碰到了很多问题,刚开始要设计的时候,还真不知道从哪里下手但最终在图书、同学和老师的帮助下都得到了解决,让我学会了好多书本上没有的东西,通过本次课程设计我也能将课本上的知识融

10、会贯通,起到了很好的辅助学习的效果,但是我发现我学到的知识比整整一个学期学到的都多。理论和实践的相结合是学习最有效的方法。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。 通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。附 录(程序代码)import javax.swing.*;import java.awt.BorderLayout;import ja

11、va.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,String jg) throws SQLException try Class.forName(sun.jdbc.odbc.JdbcOdbcDriv

12、er);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+); r.last(); if(r.getRow()=1) JOptionPane.showMessageDialog( null ,该学号的学生信

13、息已存在); 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 ,+学号:+xh+ +姓名:+xm+ +性别:+xb+学院:+xy+班级:+bj+籍贯:+jg+ 学生记录添加成功! ) ; catch(Exception e) JOptio

14、nPane.showMessageDialog( null , 数据添加异常! ) ; Public void DisplayAll(ResultSet r) try r.last(); 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.pri

15、nt( 性别为:+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); Statem

16、ent s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQuery(select * from 学籍管理系统 where 学号=+str22+); r.last(); int cc=r.getRow(); if(cc=0) JOptionPane.showMessageDialog( null ,未查询到相关信息! ) ; elser.beforeFirst(); while(r.nexJOptionPane.showMessageDia

17、log( null ,+学号:+r.getString(学号)+ +姓名:+r.getString(姓名)+ +性别:+r.getString(性别)+ +学院:+r.getString(学院)+ +班级:+r.getString(班级)+ +籍贯:+r.getString(籍贯)+ 已查询到相关记录! ) ; catch(Exception e) public void DeleteXh(String str11) try Class.forName(sun.jdbc.odbc.JdbcOdbcDriver); Connection c=DriverManager.getConnection

18、(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); ResultSet r=s.executeQuery(select * from 学籍管理系统 where 学号=+str11+); r.last(); if(r.getRow()=1) s.executeUpdate(delete from 学籍管理系统 where 学号=+str11+); JOptionPane.showMessageDialog(

19、 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_SCR

20、OLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQuery(select * from 学籍管理系统 where 姓名=+str13+); r.last(); if(r.getRow()=1) s.executeUpdate(delete from 学籍管理系统 where 姓名=+str13+); JOptionPane.showMessageDialog( null , 学生记录删除成功! ) ; else JOptionPane.showMessageDialog( null ,学籍系统中并无相关记录! )

21、; 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

22、=s.executeQuery(select * from 学籍管理系统 where 学号=+xg+); r.last(); if(r.getRow()=1) s.executeUpdate(update 学籍管理系统 set +str15+=+str16+ where 学号=+xg+); JOptionPane.showMessageDialog( null , 学生记录修改成功! ) ; elseJOptionPane.showMessageDialog( null ,学籍系统中并无相关记录! ) ; ; catch(Exception e) JOptionPane.showMessage

23、Dialog( 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);

24、 ResultSet r=s.executeQuery(select * from 学籍管理系统 where 姓名=+str18+); r.last(); if(r.getRow()=1) s.executeUpdate(update 学籍管理系统 set +str19+=+str20+ where 姓名=+str18+); /直接执行SQL语句修改 JOptionPane.showMessageDialog( null , 学生记录修改成功! ) ; elseJOptionPane.showMessageDialog( null ,学籍系统中并无相关记录! ) ; ; catch(Excep

25、tion 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, 请选择按何种方式查询

26、,选择, 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 * f

27、rom 学籍管理系统); DataBase a =new DataBase(); a. DisplayAll(r); catch (SQLException e1) elsetryConnection c= DriverManager.getConnection(jdbc:odbc:studentdatabase); Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE); DataBase a=new DataBase(); String str11=JOption

28、Pane.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 exten

29、ds 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() ; JBu

30、tton 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 JLab

31、el(姓名:) ; 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) ;

32、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(

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

当前位置:首页 > 教育专区 > 教案示例

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁