1、修改学籍信息删除学籍信息工具栏学生档案学生成绩学生基本资料考勤系统奖惩系统计算器WordExcel图2-1 各模块之间的相互关系2.2数据表分析说明表2-1 管理员数据列表usernamepasswordchen123456hai111222yu101123表2-2 学生档案数据列表stuidstunamedaytalocaltion101张三 2011-01-02 档案室五102张刚 2011-01-01档案室四103王强 104陈翔105晓莉 106李明表2-3 学生成绩数据列表nameclassyuwenshuxueyingyuzhengzhi张三软工一班96898595张刚7880王强
2、987597晓莉936987948265表2-4 学生考勤数据列表latenotabsent538621表2-5 学生奖惩数据列表RzRm三好学生3000500020001000表2-6 学生基本数据列表sexagecell男2025201622454533225434534215433835女19864545645684653详细设计与实现3.1登录界面图3-1 登录界面效果图 数据库的链接以及与数据库中账号密码的匹配: JDBC_conn conn=new JDBC_conn(); Connection con=conn.JDBC_CONN(); try Statement st=con.
3、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); catc
4、h (SQLException e1) e1.printStackTrace();3.2主界面图3-2 主界面效果图主面板结构如图所示:图3-3 登录界面效果图结构topPanel(工具栏面板)Add:buttonpanel BorderLayout.centerleftPanel:DefaultMutableTreeNode;创建树节点DefaultMutable;创建树模型对象Tree;树DefaultTreeCellRenderer;叶子节点;以及学籍系统信息的相关操作RightPanel;显示点击事件后显示的面板创建树节点(以档案管理为例):DefaultMutableTreeNode
5、 root = new DefaultMutableTreeNode(root); DefaultMutableTreeNode personnelNode = new DefaultMutableTreeNode( 人事管理 personnelNode.add(new DefaultMutableTreeNode(档案管理);考勤管理奖惩管理 root.add(personnelNode);创建树的模型对象以及树:DefaultTreeModel treeModel = new DefaultTreeModel(root);/ 通过树结点对象创建树模型对象 tree = new JTree(
6、treeModel); tree.setBackground(Color.WHITE); tree.setRootVisible(false);/ 设置不显示树的根结点,默认为显示,即true tree.setRowHeight(24);/ 设置各结点的高度为27像素创建叶子节点:DefaultTreeCellRenderer renderer = new DefaultTreeCellRenderer();/ 创建一个树的绘制对象 / renderer.setLeafIcon(null);/ 设置叶子结点不采用图标 renderer.setClosedIcon(null);/ 设置结点折叠时
7、不采用图标 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
8、(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
9、;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
10、 String name=sa String pwd= 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 timecardShortcu
11、tKeyButton = 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 RecordTimePa
12、nel(); 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 con
13、n=new JDBC_conn(); Connection con=conn.JDBC_CONN(); try 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+da
14、ta+local); con.close(); catch (SQLException e11) e11.printStackTrace(); ); btnModify.addActionListener(new ActionListener() public void actionPerformed(ActionEvent e) JDBC_conn conn=new JDBC_conn(); String idstr=txtName.getText(); String sql = select * from RecordTime where stuid= +idstr+ String N=r
15、s.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, 很抱歉,系统无记录!, return; catch (SQLEx
16、ception e1) e1.printStackTrace(); btnCancel.addActionListener(new ActionListener() txtName.setText(null); txtarea.setText(null);3.5树节点上的功能操作图3-4 修改学生成绩信息效果图JDBC_conn conn=new JDBC_conn(); String idstr=txtid.getText(); String sql = select * from RecordG where stuid= ResultSet rs = st.executeQuery ( s
17、ql ); String N=rs.getString(2); 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, , btn3.addActionListener(new ActionListener() Connection con=
18、conn.JDBC_CONN(); try Statement st=con.createStatement(); String idstr=txtid.getText(); String sql = st.executeUpdate(Update RecordG set yuwen=+txtchinese.getText()+ ,shuxue=+txtmath.getText()+ ,tingyu=+txtenglish.getText()+,zhengzhi=+txtpolity.getText()+where stuid=+txtid.getText()+catch (Exception
19、 e3) txtid.setText(null); txtchinese.setText(null); txtmath.setText(null); txtpolity.setText(null); txtenglish.setText(null);3.6其他附属图图3-5 编程结构效果图4项目使用说明4.1打包4.2安装使用系统1. 附加数据库SQL Server 2000(1)将文件夹中的扩展名为chenuser.MDF和chenuser.LDF的两个文件拷贝到SQL Server安装路径下的Data文件夹中。(2)打开SQL Server 2000中的“企业管理器”,然后展开本地服务器,在“数据库”数据项上单击鼠标右键,在弹出的快捷菜单中选择“所有任务”/“附加数据库”菜单项。(3)将弹出“附加数据库”对话框,在该对话框中单击【】按钮,选择所要附加数据库的chenuser.MDF文件,单击【确定】按钮,即可完成数据库的附加操作。2.安装打开Myeclipse、file、import;导入相应的文件以及数据库驱动即可运行5结论通过做该项目,主要掌握以下四项技术:并对这四项技术能够熟练运用。另外,补充自己对创建树,创建节点这方面知识的缺乏,以及对数据库的各项操作指令能够灵活运用。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1