




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
专业实训(四)项目报告题 目: 学生学籍管理系统 院(系): 软件学院 1 项目简介1.1项目意义随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。目前,学校学生管理是教务管理中的一个极为重要的环节,它是整个管理的核心和基础。由于学校规模进一步扩大,学生人数逐年上升,学生学籍的管理也变得越来越复杂。为此,切实有效的把学生学籍管理系统引入学校教务管理中,对于促进学校管理制度和提高学校教学质量有着显著意义。1.2项目说明该项目主要为高校管理员设计而开发针对学校学生学籍信息的一套完备的管理系统。实现的功能主要有:管理员的登录及其相关信息的修改。进入学籍管理系统主要有学生档案管理、学生的基本资料、学生成绩管理、学生考勤管理、学生奖惩管理、以及相关的用户工具用来辅助管理员管理学生相关学籍信息。包括计算器、word、excel等1.3关键技术1.Java AWT组件及事件处理2.Java 输入输出流3.常见数据结构的java实现4.Java数据库的链接(JDBC)2总体设计2.1各个模块的设计管理员登陆管理主界面添加学籍信息查询学籍信息修改学籍信息删除学籍信息工具栏学生档案学生成绩学生基本资料考勤系统奖惩系统计算器WordExcel图2-1 各模块之间的相互关系2.2数据表分析说明表2-1 管理员数据列表usernamepasswordchen123456hai111222yu101123表2-2 学生档案数据列表stuidstunamedaytalocaltion101张三 2011-01-02 档案室五102张刚 2011-01-01档案室四103王强 2011-01-01档案室四104陈翔2011-01-01档案室四105晓莉 2011-01-01档案室四106李明2011-01-01档案室四表2-3 学生成绩数据列表stuidnameclassyuwenshuxueyingyuzhengzhi101张三软工一班96898595102张刚软工一班89967880103王强软工一班78987596104陈翔软工一班89787897105晓莉软工一班93699887106李明软工一班94827865表2-4 学生考勤数据列表stuidnamelatenotabsent101张三53102张刚86103王强00104陈翔22105晓莉13106李明50表2-5 学生奖惩数据列表stuidnameRzRm101张三三好学生3000102张刚三好学生5000103王强三好学生3000104陈翔三好学生5000105晓莉三好学生2000106李明三好学生1000表2-6 学生基本数据列表stuidnamesexagecell101张三男202520162102张刚男202454533103王强男225434534104陈翔男215433835105晓莉女198645456106李明男2045684653详细设计与实现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();frame.setVisible(true); catch (SQLException e1) e1.printStackTrace();3.2主界面图3-2 主界面效果图主面板结构如图所示:图3-3 登录界面效果图结构topPanel(工具栏面板)Add:buttonpanel BorderLayout.centerleftPanel: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);/ 通过树结点对象创建树模型对象tree = new JTree(treeModel);tree.setBackground(Color.WHITE);tree.setRootVisible(false);/ 设置不显示树的根结点,默认为显示,即truetree.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;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; 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 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(); 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); 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树节点上的功能操作图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); 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();tryStatement 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()+ ,tingyu=+txtenglish.getText()+,zhengzhi=+tx
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年版社区康复社会工作服务合同范本
- 2025年度绿色建筑房地产开发合作框架协议集锦
- 2025版全新公积金贷款合同范本附2025年度贷款政策解读
- 2025版高科技企业信息安全保密合作协议
- 2025版国有企业员工劳动关系管理服务框架协议
- 2025版学术期刊订阅与图书馆馆藏整合协议合同
- 2025版水泥电杆安装与维护一体化服务合同
- 2025年酒店餐饮服务用品及设施供应合同
- 贵州省瓮安县2025年上半年公开招聘村务工作者试题含答案分析
- 2025二手车二手车置换补贴协议范本
- 医院检验科微生物进修汇报
- 主播跟运营合作合同协议
- 用浪浪山正确打开开学第一课~课件
- 2025年云南国企招聘考试历年参考题库含答案详解(5卷)
- 血透室设备维护与操作规范
- 导尿管相关性尿路感染
- 2025至2030高校后勤行业发展趋势分析与未来投资战略咨询研究报告
- 2025年幼儿园膳食工作计划
- 贵州省黔东南苗族侗族自治州2024-2025学年七年级下学期7月期末考试地理试卷含答案
- 茶与健康养生课程课件
- 2025车位包销合同
评论
0/150
提交评论