基于java的学生学籍管理系统开发.doc_第1页
基于java的学生学籍管理系统开发.doc_第2页
基于java的学生学籍管理系统开发.doc_第3页
基于java的学生学籍管理系统开发.doc_第4页
基于java的学生学籍管理系统开发.doc_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1 PINGDINGSHAN UNIVERSITY 专业实训(四)专业实训(四) 项目报告项目报告 题 目: 学生学籍管理系统 院 ( 系 ): 软件学院 专业年级: 软件工程 姓 名: 陈翔宇 学 号: 101530135 指导教师: 黄淼 2012 年 5 月 31 日 2 目录 PINGDINGSHAN UNIVERSITY1 1 项目简介.3 1.1 项目意义.3 1.2 项目说明.3 1.3 关键技术.3 2 总体设计4 2.1 主类设计.错误!未定义书签。错误!未定义书签。 2.2 各个模块的设计.4 2.3 数据表分析说明.5 3 详细设计与实现8 3.1 登录界面.8 3.2 主界面.9 3.3 数据库的链接.12 数据库的链接:.错误!未定义书签。错误!未定义书签。 3.4toppanel 面板按钮操作 .13 3.5 树节点上的功能操作.18 树节点上的操作(以修改学生成绩系统为例).18 3.6 其他附属图21 4 项目使用说明22 4.1 打包.22 4.2 安装使用系统.22 5 结论23 3 1 项目简介 1.1 项目意义 随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深 刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。目前,学校 学生管理是教务管理中的一个极为重要的环节,它是整个管理的核心和基础。 由于学校规模进一步扩大,学生人数逐年上升,学生学籍的管理也变得越来越 复杂。为此,切实有效的把学生学籍管理系统引入学校教务管理中,对于促进 学校管理制度和提高学校教学质量有着显著意义。 1.2 项目说明 该项目主要为高校管理员设计而开发针对学校学生学籍信息的一套完备的 管理系统。实现的功能主要有:管理员的登录及其相关信息的修改。进入学籍 管理系统主要有学生档案管理、学生的基本资料、学生成绩管理、学生考勤管 理、学生奖惩管理、以及相关的用户工具用来辅助管理员管理学生相关学籍信 息。包括计算器、word、excel 等 1.3 关键技术 1.Java AWT 组件及事件处理 2.Java 输入输出流 3.常见数据结构的 java 实现 4.Java 数据库的链接(JDBC) 4 2 总体设计 2.1 各个模块的设计 图 管理员登陆 管理主界面 添加学籍信息查询学籍信息修改学籍信息 删除学籍信息工具栏 学生档案 学生成绩 学生基本资料 考勤系统 奖惩系统 计算器 Word Excel 2-1 各模块之间的相互关系 5 2.23 数据表分析说明 表 2-1 管理员数据列表 usernamepassword chen123456 hai111222 yu101123 表 2-2 学生档案数据列表 stuidstunamedaytalocaltion 101 张三 2011-01-02 档案室五 102 张刚 2011-01-01 档案室四 103 王强 2011-01-01 档案室四 104 陈翔 2011-01-01 档案室四 105 晓莉 2011-01-01 档案室四 106 李明 2011-01-01 档案室四 6 表 2-3 学生成绩数据列表 stuidnameclassyuwenshuxueyingyuzhengzhi 101 张三软工一班 96898595 102 张刚软工一班 89967880 103 王强软工一班 78987596 104 陈翔软工一班 89787897 105 晓莉软工一班 93699887 106 李明软工一班 94827865 表 2-4 学生考勤数据列表 stuidnamelatenotabsent 101 张三 53 102 张刚 86 103 王强 00 104 陈翔 22 105 晓莉 13 106 李明 50 7 表 2-5 学生奖惩数据列表 stuidnameRzRm 101 张三三好学生 3000 102 张刚三好学生 5000 103 王强三好学生 3000 104 陈翔三好学生 5000 105 晓莉三好学生 2000 106 李明三好学生 1000 表 2-6 学生基本数据列表 stuidnamesexagecell 101 张三男 202520162 102 张刚男 202454533 103 王强男 225434534 104 陈翔男 215433835 105 晓莉女 198645456 106 李明男 204568465 8 3 详细设计与实现 3.1 登录界面 图 3-1 登录界面效果图 数据库的链接以及与数据库中账号密码的匹配: JDBC_conn conn=new JDBC_conn(); Connection con=conn.JDBC_CONN(); try Statement st=con.createStatement(); String name=tf1.getText(); String pwdstr=tf2.getText(); /SQL语句 String sql = “select * from javadenglu where username=“ + name+ “ and password = “ + pwdstr + “; ResultSet rs = st.executeQuery ( sql ); /返回查询结果 if ( rs.next ( ) ) Mainframe frame=new Mainframe(); 9 frame.setVisible(true); catch (SQLException e1) e1.printStackTrace(); 3.2 主界面 图 3-2 主界面效果图 主面板结构如图所示: 图 3-3 登录界面效果图结构 10 topPanel(工具栏面板) Add:buttonpanel BorderLayout.center leftPanel: DefaultMutableTreeNode; 创建树节点 DefaultMutable; 创建树模型对象 Tree;树 DefaultTreeCellRenderer; 叶子节点; 以及学籍系统信息的相关操作 RightPanel; 显示点击事件后显示的面板 创建树节点(以档案管理为例): DefaultMutableTreeNode root = new DefaultMutableTreeNode(“root“); DefaultMutableTreeNode personnelNode = new DefaultMutableTreeNode( “人事管理“); personnelNode.add(new DefaultMutableTreeNode(“档案管理“); personnelNode.add(new DefaultMutableTreeNode(“考勤管理“); personnelNode.add(new DefaultMutableTreeNode(“奖惩管理“); root.add(personnelNode); 创建树的模型对象以及树: DefaultTreeModel treeModel = new DefaultTreeModel(root);/ 通过树结点对 象创建树模型对象 11 tree = new JTree(treeModel); tree.setBackground(Color.WHITE); tree.setRootVisible(false);/ 设置不显示树的根结点,默认为显示,即true tree.setRowHeight(24);/ 设置各结点的高度为 27 像素 创建叶子节点: DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer();/ 创 建一个树的绘制对象 / renderer.setLeafIcon(null);/ 设置叶子结点不采用图标 renderer.setClosedIcon(null);/ 设置结点折叠时不采用图标 renderer.setOpenIcon(null);/ 设置结点展开时不采用图标 tree.setCellRenderer(renderer);/ 将树的绘制对象设置到树中 int count = root.getChildCount();/ 获得一级结点的数量 for (int i = 0; i count; i+) / 遍历树的一级结点 DefaultMutableTreeNode node = (DefaultMutableTreeNode) root .getChildAt(i);/ 获得指定索引位置的一级结点对象 TreePath path = new TreePath(node.getPath();/ 获得结点对象的路径 tree.expandPath(path);/ 展开该结点 捕获树的选取事件: tree.addTreeSelectionListener(new TreeSelectionListener() 3.3 数据库的链接 package com.pdsu.chen.jdbc; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.SQLException; 12 import java.sql.Statement; public class JDBC_conn public Connection JDBC_CONN() try Class.forName(“com.microsoft.jdbc.sqlserver.SQLServerDriver“); catch(ClassNotFoundException e2) e2.printStackTrace(); Connection conn = null; try String url = “jdbc:microsoft:sqlserver:/localhost:1433;DatabaseName=userchen“; String name=“sa“; String pwd=“sa“; conn = DriverManager.getConnection(url,name,pwd); /stmt = conn.createStatement(); if(conn!=null) System.out.println(“连接成功“); catch(Exception e) e.printStackTrace(); return conn; 13 3.4toppanel 面板按钮操作 topPanel 面板上的按钮操作(单个以考勤系统为例): 图 3-3 toppanel 效果图 单击考勤系统按钮, final JButton timecardShortcutKeyButton = new JButton(); resource = this.getClass().getResource(“timecard.JPG“); icon = new ImageIcon(resource); timecardShortcutKeyButton.setIcon(icon); timecardShortcutKeyButton.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) try 14 RecordTimePanel p1=new RecordTimePanel(); p1.setVisible(true); SwingUtilities.updateComponentTreeUI(rightPanel); catch (Exception e1) JOptionPane.showMessageDialog(null, “很抱歉,打开失败!“,“友情 提示“, JOptionPane.INFORMATION_MESSAGE); return; ); btnQuery.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e1) JDBC_conn conn=new JDBC_conn(); Connection con=conn.JDBC_CONN(); try Statement st=con.createStatement(); String sql = “select * from Recordtime “; ResultSet rs = st.executeQuery ( sql ); while ( rs.next ( ) ) String sid=rs.getString(1); String name=rs.getString(2); String data=rs.getString(3); String local=rs.getString(4); txtarea.append(“n“+sid+name+data+local); con.close(); 15 catch (SQLException e11) e11.printStackTrace(); ); btnModify.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JDBC_conn conn=new JDBC_conn(); Connection con=conn.JDBC_CONN(); try Statement st=con.createStatement(); String idstr=txtName.getText(); String sql = “select * from RecordTime where stuid=“ +idstr+“; ResultSet rs = st.executeQuery ( sql ); if ( rs.next ( ) ) String N=rs.getString(2); String D=rs.getString(3); String L=rs.getString(4); JTextArea jta1 = new JTextArea(); jta1.setText(“学号:“+rs.getString(“stuid“)+“姓名:“+N+“迟 到:“+D+“旷课:“+L); jta1.setEditable(false); 16 JOptionPane.showMessageDialog(null, jta1); else JOptionPane.showMessageDialog(null, “很抱歉,系统无记录!“, “友情提示“, JOptionPane.INFORMATION_MESSAGE); return; catch (SQLException e1) e1.printStackTrace(); ); btnCancel.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) txtName.setText(null); txtarea.setText(null); ); 3.5 树节点上的功能操作 树节点上的操作(以修改学生成绩系统为例) 17 图 3-4 修改学生成绩信息效果图 btnQuery.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JDBC_conn conn=new JDBC_conn(); Connection con=conn.JDBC_CONN(); try Statement st=con.createStatement(); String idstr=txtid.getText(); String sql = “select * from RecordG where stuid=“ +idstr+“; ResultSet rs = st.executeQuery ( sql ); if ( rs.next ( ) ) String N=rs.getString(2); String D=rs.getString(3); String L=rs.getString(4); 18 String M=rs.getString(5); String O=rs.getString(6); String P=rs.getString(7); txtchinese.setText(L); txtmath.setText(M); txtenglish.setText(O); txtpolity.setText(P); else JOptionPane.showMessageDialog(null, “很抱歉,系统无记录! “,“友情提示“, JOptionPane.INFORMATION_MESSAGE); return; catch (SQLException e1) e1.printStackTrace(); ); btn3.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JDBC_conn conn=new JDBC_conn(); Connection con=conn.JDBC_CONN(); try Statement st=con.createStatement(); String idstr=txtid.getText(); String sql = “select * from RecordG where stuid=“ +idstr+“; st.executeUpdate(“Update RecordG set yuwen=“+txtchinese.getText()+“ ,shuxue=“+txtmath.getText()+“ 19 ,tingyu=“+txtenglish.getTe

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论