1、4写说明书、答辩 1天第一章 考勤管理系统功能说明考勤管理系统为了解决班级考勤,开发的一个基于JavaSwing和mssql的桌面管理系统。 介绍主要功能(模块结构图)考勤管理系统用 户 管 理考 勤 管 理考 勤 查 询用户修改用户删除系统退出用户添加考勤管理设置考勤课程设置人员考勤管理考勤人员添加考勤卡号查询考勤姓名查询考勤周次查询第二章 软件开发2.1 用户登录 1、用户登录界面 2、程序的开发流程输入用户名、密码数据库中是否有记录进入管理界面是否3、核心代码 str3=select * from hy where name=+str1+and pwd=+str2+;con = Driv
2、erManager.getConnection(jdbc:odbc:wk,sa);stmt=con.createStatement();2.2 用户管理模块开发 2.2.1 用户添加 1、用户添加界面按下 下一个 按钮记录是否到底显示下一记录游标到起始记录 3、核心代码 String str_sql=insert into biao (name,pwd,grade) values (+str_name+,+str_pwd+user_type+)try conn=DriverManager.getConnection(, stmt=conn.createStatement(); stmt.exe
3、cuteUpdate(str_sql);JOptionPane.showConfirmDialog(this, 添加成功!系统提示,JOptionPane.CLOSED_OPTION,JOptionPane.INFORMATION_MESSAGE);tx.setText( fd1.setText( fd2.setText( catch (SQLException e) e.printStackTrace();2.2.2 用户修改 1、用户修改界面开始修改用户修改用户或密码是否更新用户或密码更新conn = DriverManager.getConnection(sta=conn.createS
4、tatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=sta.executeQuery(select name,pwd,grade from hyrs.next();text1.setText(rs.getString(name);pwd.setText(rs.getString(pwdcpwd.setText(pwd.getText();2.2.3 用户删除 1、用户删除界面删除获取卡号是否删除conn=DriverManager.getConnection(stmt=conn.createStatem
5、ent(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(tx.setText(rs.getString(fd1.setText(rs.getString(rs.updateString(1,tx.getText();rs.updateString (2, fd1.getText();rs.updateInt(3, user_type);rs.updateRow();确定要删除吗?,JOptionPane.CLOSED_OPTION,JOptionPane.INFORMATION_M
6、ESSAGE);rs.deleteRow();2.3 考勤管理模块开发 2.3.1 考勤人员添加 1、考勤人员添加界面开始添加人员信息是否为空,重复完成,显示在表中stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);select id,code,name,class,tel from biao1rs.last(); r_date=new Objectrs.getRow();rs.beforeFirst();rs.close();stmt.close();conn.close
7、();i=0bg=new JTable(r_date,t); s=new JScrollPane(); s.setViewportView(bg);sql=insert into kq (code,name,class,tel) values(+scode+sname+sclass+stel+ 2.3.2 考勤管理设置 1、考勤管理设置界面 2、程序的开发流程开始检测数据库中是否存在记录设置按钮不可用,重置,可重新设置删除表中数据,设置按钮不可用则不可设置 b1.setEnabled(false); b2.setEnabled(true);try conn=DriverManager.getC
8、onnection(stmt.executeUpdate(insert into check_option (kx,c1,c2,c3,c4,c5) values (+tx1.getText()+tx2.getText()+tx3.getText()+ +tx4.getText()+tx5.getText()+tx6.getText()+2.3.3 考勤课程设置 1、考勤课程设置界面新建Visual class类建立课程管理窗体添加课程将数据加入库 try conn=DriverManager.getConnection(for(int i=1;i=5;i+)if(i=1)insert into
9、 check_class (x1,x2,x3,x4,x5) values (+jTextField1.getText()+jTextField6.getText()+jTextField11.getText()+jTextField16.getText()+jTextField21.getText()+2.3.4 人员考勤管理 1、人员考勤管理界面选择课程扫描卡号确定选择考勤类型添加 计算日期 Date date1=new Date(); Calendar c=Calendar.getInstance(Locale.CHINESE); c.setTimeInMillis(date1.getTi
10、me(); c.add(Calendar.HOUR,-10); DateFormat df=DateFormat.getDateTimeInstance(); try return c.getTime().before(df.parse(date2); catch (ParseException e) e.printStackTrace();return false; stmt=conn.createStatement();select code from yu_kq where name=if(rs.next()s_code=rs.getString(1);Calendar c=Calend
11、ar.getInstance(Locale.CHINESE);SimpleDateFormat sim=new SimpleDateFormat(yyyy-MM-dd HH:mm:ssc.getTime(); c.add(Calendar.HOUR, +14); s_datetime=sim.format(c.getTime();2.4 考勤查询2.4.1 考勤卡号查询 1、考勤卡号查询界面 输入考号/日期从数据库中获取信息显示在表中 date=new Objectrs.getRow(); rs.beforeFirst();s.remove(bg); bg=new JTable(date,t)
12、;bg.setBounds(10, 120, 350, 180);s.setBounds(10, 120, 350, 185); 2.4.2 考勤姓名查询 1、考勤姓名查询界面输入姓名/日期在数据库中建立“人员考勤”视图 conn=DriverManager.getConnection( stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); rs=stmt.executeQuery(select * from find_code where name=+t_code.getT
13、ext()+ rs.last();2.4.3 考勤周次查询 1、考勤周次查询界面输入信息输出显示 3、核心代码 周次转换为天数的算法 (周数-1)*7+星期几调用以下类中的方法daycount=(Integer.parseInt(t_week.getText()-1)*7+Integer.parseInt(t_date.getText();System.out.println(天数+daycount); String result = DateFormat df = new SimpleDateFormat(yyyy-MM-dd long i=86400000; try Date ldate
14、= df.parse(ymd);result = df.format(new Date(ldate.getTime()+nextYmd * i).toString(); catch (ParseException e) e.printStackTrace(); return result;第三章 总结3.1 建立数据源 1、使用JDBC-ODBC java联接了数据源 2、使用JDBC for SQL* 驱动。JAVAODBC 桥映射3、建立数据源ODBC控制面板管理工具数据源ODBC系统DSN添加选择数据库类型SQL指定数据源名称:(名称:ts)服务器名称:在服务管理中粘贴登录方式 系统默认
15、更改默认数据库(新建的库)数据源测试完成private Connection conn=null;/声明数据联接 private Statement stmt=null;/传递sql语句private ResultSet rs=null;/接收结果(记录集)3.2 控件使用 1、JFrame添加背景图片/菜单背景.private Image img_main=null;private ImageIcon icon_main=null;private JLabel l=null;private JLayeredPane p=null;/背景图标img_main=ImageIO.read(this
16、.getClass().getResource(/pro_2/pic/main.jpgicon_main=new ImageIcon(img_main);/添加背景图片 l=new JLabel(icon_main); p=this.getLayeredPane(); p.setOpaque(false); l.setBounds(0,0,icon_main.getIconWidth(), icon_main.getIconHeight();/设置背景标签的位置 p.add(l, new Integer(Integer.MIN_VALUE);/注意这里是关键,将背景标签添加到jfram的Lay
17、eredPane面板里。 Container cp=this.getContentPane(); cp.setLayout(null); (JPanel)cp).setOpaque(false);2、如何在jTextField上添加事件,实现输入数据触发事件t-jTextField对象t.getDocument().addDocumentListener(new DocumentListener() public void changedUpdate(DocumentEvent arg0) /当属性或者属性集发生变化时通知 public void insertUpdate(DocumentEv
18、ent arg0) /文本输入时通知 public void removeUpdate(DocumentEvent arg0) /删除文本时通知3、在容器中添加滚动条容器private JScrollPane p=new JScrollPane(); /声明并创建滚动条容器p.setBounds(10, 10, 300, 300); /设置位置this.add(p);/添加3.3 JAVA 代码结构认识 通过这次的课程设计,让我更好的巩固了JAVA课程中所学习地知识,对JAVA开发程序有了一个系统的了解。知道了在开发程序时,应该先构建一个体系,在设计程序前应该先将程序的流程图画出来,再有目的的去编写各部分的程序。同时,也让我感觉到了JAVA语言功能的强大。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1