收藏 分享(赏)

Java程序设计课程设计---学生学籍管理系统.doc

上传人:精品资料 文档编号:8475837 上传时间:2019-06-29 格式:DOC 页数:35 大小:1.26MB
下载 相关 举报
Java程序设计课程设计---学生学籍管理系统.doc_第1页
第1页 / 共35页
Java程序设计课程设计---学生学籍管理系统.doc_第2页
第2页 / 共35页
Java程序设计课程设计---学生学籍管理系统.doc_第3页
第3页 / 共35页
Java程序设计课程设计---学生学籍管理系统.doc_第4页
第4页 / 共35页
Java程序设计课程设计---学生学籍管理系统.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

1、设计总说明Java 程序设计课程设计课程名称 Java程序设计课程设计课程编号学号学生姓名所在专业所在班级指导教师成绩教师签字设计总说明I目 录设计总说明 -II1. 课程设计目的与需求分析 -31.1 课程设计目的 -3 1.2 需求分析 -32. 设计思路与主功能设计 -42.1 设计思路 -42.1.1 开发环境和软件 -42.1.2 数据库表结构 -42.1.3 程序设计图 -42.2 功能设计与介绍 -53. 具体功能的介绍和数据测试 -53.1 登录界面 -53.2 主功能界面 -73.2.1 查询 -73.2.2 添加 -93.2.3 修改 -103.2.4 删除 -123.2.

2、5 关于 -133.2.6 退出 -134. 课程设计总结 -145. 附录(程度代码) -15 设计总说明II设计总说明1. 设计概况名称:学生学籍管理系统用途:学校等机构功能:实现对学生学籍信息的管理与维护等功能2. 设计说明学生学籍管理系统,可用于学校等机构的学生信息管理,查询,更新与维护,使用方便,易用性强,图形界面清晰明了。该软件用 java语言编写,用SQLServer2005数据库作为后台的数据库进行信息的存储,用 SQL语句完成添加,查询,修改,删除的操作。用 ODBC驱动实现前台 Java与后台 SQL数据库的连接。Java语言跨平台性强,可以在 windows,linux,

3、ubuntu 等系统下使用,方便简单,安全性好。SQLServer2005 数据库高效安全,两者结合可相互利用各自的优势。系统可供输入的属性有“学号” , “姓名” , “性别” , “班级” , “学院” , “籍贯” 。该系统实现的大致功能:1 管理员登陆界面。该界面可以输入管理员号,登陆密码。用户通过验证通过后方可进入管理系统。一定程度上保证了信息安全性,防止他人未经允许篡改学生信息。2 查询学生信息。可以选择由用户选择“显示系统中当前的所有学生信息” 。也可以选择按照“某一个学号查询该学号的学生信息” 。查询到的信息会在窗口中依次显示出来。3 添加学生信息。可以按照图形的界面的显示依次

4、输入新学生的“学号” , “姓名”, “性别” , “班级” , “学院” , “籍贯” 。完成新纪录的添加。4 修改学生信息。可以选择按照“学号”或者“姓名”找到该学生的学生信息并输入要修改的属性,并输入新的数据。完成对学生记录的修改。5 删除学生记录。可以根据输入的“学号”或者”姓名”进行删除的操作。3本系统只实现了基本操作功能, ,对于添加管理员,修改登录密码和数据库信息备份等功能并未提供,便利性和安全性仍有不足,使用过程中造成的不便还请谅解!广东海洋大学本科生课程设计3学生学籍管理系统信管 1081班,200811622124,吴晓阳信管 1081班,200811622104,陈秀丽指

5、导教师:陈亮1 课程设计目的与需求分析1.1 课程设计目的本课程设计作为Java 语言高级程序设计课程的延伸,在学生完成了Java语言高级程序设计课程的理论知识学习后,希望通过本次课程设计的实践操作,能够让学生懂得 Java的各种相关知识的使用,真正的提高学生独立开发设计 Java程序,把课堂上的知识运用在实践上,一门编程语言只有在不断实践操作和练习上才会有进步。1.2需求分析在一些学校等机构,随着学生数量的不断增加,学生的信息不断增多,人工管理信息的难度也越来越大。而且效率也是很低的。所以如何自动高效地管理信息是这些年来许多人所研究的。随着这些年电脑计算机的速度质的提高,成本的下降,IT 互

6、联网大众趋势的发展。我们使用电脑的高效率才处理数据信息成为可能。 学生学籍管理系统的出现,正是管理人员与信息数据,计算机的进入互动时代的体现。友好的人机交互模式,清晰简明的图形界面,高效安全的操作使得我们对成千上万的信息的管理得心应手。学生学籍管理系统,以 SQL数据库作为后台信息存储,Java 作为前台系统的语言。提供了对学生信息添加,查询,修改,删除的功能。实现了最基本的信息管理。广东海洋大学本科生课程设计42 设计思路与主功能设计2.1 设计思路2.1.1 开发环境和软件本学籍采用Java语言编写前台程序,后台采用SQL Server2005软件管理数据库,调试和运行皆由Eclipse

7、SDK 3.5.2完成。2.1.2 SQL数据库表结构 2.1.3 程序设计图学生学籍管理系统登录登录验证失败成功退出查询添加修改删除广东海洋大学本科生课程设计52.2 功能设计与介绍1) 显示已有学生信息2) 添加新的学生信息3) 修改已有学生信息4) 删除已有学生信息5) 关于学籍管理系统6) 退出学籍管理系统3 具体功能的介绍和数据测试3.1 登录界面广东海洋大学本科生课程设计6登录界面输入“管理员号”和“登录密码” ,点击“确定” ,通过验证则进入主功能菜单。如果输入错误则会有相应的警告!1.当输入了一个未存在的管理员号时,会出现下图!2当输入一个错误的密码时,会出现下图!当前系统有两

8、个管理员账号: 管理员号:200811622124 密码:123456管理员号:200811622104 密码:123456广东海洋大学本科生课程设计73.2 主功能界面3.2.1 查询点击 , 则弹出下面的选择菜单。广东海洋大学本科生课程设计81) 选择“显示所有学生记录”时,在控制台会显示当前系统中所有的学生记录2) 选择“查询某个学生记录”时,会弹出一下窗口要求用户输入“学号”。当系统中有要查询的学号记录时,系统会显示查询到的详细信息。如果没有查询到,则显示: 广东海洋大学本科生课程设计93.2.2 添加点击 ,会弹出输入框,如下图:在各个数据框中输入对应的信息(学号不能为空,且学号不能

9、与已存在的记录重复),如果输入的新纪录的学号已经存在则: 如果添加的新纪录学号为空,则 广东海洋大学本科生课程设计10如果输入的各项数据正常时,则点击“添加”按钮后,学生记录添加成功!3.2.3 修改点击 ,进行“修改”的操作,弹出下面的选择菜单。1)选择按“学号”修改:广东海洋大学本科生课程设计11将相应的数据填入输入框中,如果修改的记录不存在,则提示:如果数据正确且记录存在,则显示记录修改成功:2) 按“姓名”修改,同上.广东海洋大学本科生课程设计123.2.4 删除点击 ,会显示下面的菜单。1) 选择按“学号”删除,出现以下窗口。在弹出的窗口输入你要删除的记录的学号。如果要删除的记录不存

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

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

12、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,String jg) throws SQLException try Class.for

13、Name(“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+“);r.last(); if(r.getRow()=1) JOptionPa

14、ne.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 ,“+“学号:“+xh+“ +“姓名:“+xm+“广东海洋大学本科生

15、课程设计16+“性别:“+xb+“+“学院:“+xy+“+“班级:“+bj+“+“籍贯:“+jg+“ 学生记录添加成功!“ ) ; catch(Exception e) JOptionPane.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()+“行记录:

16、“);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 Displ

17、ayOne(String str22) throws Exception tryConnection c=DriverManager.getConnection(“jdbc:odbc:studentdatabase“);Statement s=c.createStatement( ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);广东海洋大学本科生课程设计17ResultSet r=s.executeQuery(“select * from 学籍管理系统 where 学号=“+str22+“); r.last(); int

18、cc=r.getRow();if(cc=0) JOptionPane.showMessageDialog( null ,“未查询到相关信息!“ ) ; elser.beforeFirst();while(r.nexJOptionPane.showMessageDialog( null ,“+“学号:“+r.getString(“学号“)+“ +“姓名:“+r.getString(“姓名“)+“+“性别:“+r.getString(“性别“)+“+“学院:“+r.getString(“学院“)+“+“班级:“+r.getString(“班级“)+“+“籍贯:“+r.getString(“籍贯“)

19、+“ 已查询到相关记录!“ ) ; catch(Exception e)public void DeleteXh(String str11) 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.execu

20、teQuery(“select * from 学籍管理系统 where 学号=“+str11+“); r.last();if(r.getRow()=1) s.executeUpdate(“delete from 学籍管理系统 where 学号=“+str11+“); JOptionPane.showMessageDialog( null , “学生记录删除成功!“ ) ; 广东海洋大学本科生课程设计18else JOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ); catch(Exception e) public void Delete

21、Xm(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+“); r.l

22、ast();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.o

23、dbc.JdbcOdbcDriver“);Connection c=DriverManager.getConnection(“jdbc:odbc:studentdatabase“);Statement s=c.createStatement(广东海洋大学本科生课程设计19ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);ResultSet r=s.executeQuery(“select * from 学籍管理系统 where 学号=“+xg+“); r.last();if(r.getRow()=1) s.executeUp

24、date(“update 学籍管理系统 set “+str15+“=“+str16+“ where 学号=“+xg+“); JOptionPane.showMessageDialog( null , “学生记录修改成功!“ ) ; elseJOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ) ; ;catch(Exception e)JOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ) ; public void UpdateXm(String str18,String str19,St

25、ring 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+“); r.last()

26、;if(r.getRow()=1) s.executeUpdate(“update 学籍管理系统 set “+str19+“=“+str20+“ where 姓名=“+str18+“); /直接执行 SQL语句修改 JOptionPane.showMessageDialog( null , “学生记录修改成功!“ ) ; elseJOptionPane.showMessageDialog( null ,“学籍系统中并无相关记录!“ ) ; 广东海洋大学本科生课程设计20; catch(Exception e) JOptionPane.showMessageDialog( null ,“学籍系统

27、中并无相关记录!“ ) ; 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, n

28、ew 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 Dat

29、aBase(); a. DisplayAll(r); catch (SQLException e1) else tryConnection 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(“请输入要查询的记录

30、的学号“);a.DisplayOne(str11); catch (Exception e1) 广东海洋大学本科生课程设计21class 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_ActionList

31、ener2 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_A

32、ctionListener6() 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.se

33、tBounds(43,58,100,25) ;this.add(jlb2) ;JLabel jlb3 = new JLabel(“性别:“) ;广东海洋大学本科生课程设计22jlb3.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

34、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(jt

35、f5) ;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 Ima

36、geIcon(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) 广东海洋大学本科生课程设计23JButton btn=(JButton)e.getSource(); String xh = jtf1.getText(

37、) ; 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_ActionL

38、istener3监听功能面板”修改已有学生信息“的按钮 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

39、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(“修改“); /创广东海洋大学本科生课程设

40、计24建”修改“按钮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(

41、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.Update

42、Xh(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);广东海洋大学本科生课程设计25this.getLayeredPane().add(background, new Integer(Integer

43、.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(“请输入新的数据“) ;fi

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报