《JAVA考勤管理系统(14页).doc》由会员分享,可在线阅读,更多相关《JAVA考勤管理系统(14页).doc(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-JAVA考勤管理系统-第 14 页课程设计任务书系别电气与电子工程系专业计算机应用技术班级指导教师题目JAVA考勤管理系统设计目的:熟练掌握JAVA程序设计图形开发、事件驱动机制、各种组件使用。设计要求:用JAVA设计一个计算器小程序;设计的作品以单个Java文件形式,若是Applet小程序,则附带相关的网页;不要使用包路径;代码书写规范,无语法和逻辑错误;课程设计要求:1画出程序设计流程图,说明程序设计流程。2. 根据流程图,说明所使用的相关知识。3.编写出程序4. 撰写课程设计说明书。课程说明书里应包括目录,程序流程图,程序,总结(印象较深的经验/教训等)。要求:设计要有相应的设计报告,
2、报告要包含题目、目录、摘要、关键字、正文、参考文献几部分;字体、字号格式按样文设置;正文要有需求分析、概要设计、详细设计、代码、结论等部分构成,并有必要的图表和效果图;结题形式程序代码,设计说明书时间分配:总体设计时间为1周1 设计流程图 1天2 编写各部分程序 2天3 上机调试,实现功能 1天4 写说明书、答辩 1天目录第一章 考勤管理系统功能3第二章 软件开发42.1 用户登录42.2 用户管理模块开发42.2.1 用户添加42.2.2 用户修改62.2.3 用户删除62.3 考勤管理模块开发82.3.1 考勤人员添加82.3.2 考勤管理设置92.3.3 考勤课程设置102.3.4 人员
3、考勤管理112.4 考勤查询132.4.1 考勤卡号查询132.4.2 考勤姓名查询142.4.3 考勤周次查询15第三章 总结173.1 建立数据源173.2 控件使用173.3 JAVA 代码结构认识18第一章 考勤管理系统功能说明考勤管理系统为了解决班级考勤,开发的一个基于JavaSwing和mssql的桌面管理系统。 介绍主要功能(模块结构图)考勤周次查询考勤姓名查询考勤卡号查询考勤人员添加考勤课程设置人员考勤管理考勤管理设置用户修改系统退出用户删除用户添加考 勤 查 询考 勤 管 理用 户 管 理考勤管理系统第二章 软件开发2.1 用户登录 1、用户登录界面 2、程序的开发流程输入用
4、户名、密码数据库中是否有记录进入管理界面是否3、核心代码 str3=select * from hy where name=+str1+and pwd=+str2+;con = DriverManager.getConnection(jdbc:odbc:wk,sa,);2.2 用户管理模块开发 用户添加 1、用户添加界面 2、程序的开发流程按下 下一个 按钮记录是否到底否显示下一记录是游标到起始记录 3、核心代码 Stringstr_sql=insert into biao (name,pwd,grade) values (+str_name+,+str_pwd+,+user_type+);t
5、ry conn=DriverManager.getConnection(jdbc:odbc:wk, sa, );stmt=conn.createStatement(); stmt.executeUpdate(str_sql);JOptionPane.showConfirmDialog(this, 添加成功!, 系统提示,JOptionPane.CLOSED_OPTION,JOptionPane.INFORMATION_MESSAGE);(); fd2.setText(); catch (SQLException e) e.printStackTrace(); 用户修改 1、用户修改界面 2、程
6、序的开发流程 开始修改用户修改用户或密码是否更新用户或密码更新否是 3、核心代码conn = DriverManager.getConnection(jdbc:odbc:wk,sa,);ateStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=sta.executeQuery(select name,pwd,grade from hy);rs.next();text1.setText(rs.getString(name);pwd.setText(rs.getString(pwd);cpwd.setTe
7、xt(pwd.getText(); 用户删除 1、用户删除界面 2、程序的开发流程 删除获取卡号是否删除删除是否 3、核心代码conn=DriverManager.getConnection(jdbc:odbc:wk, sa, );stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(select name,pwd,grade from hy);rs.next();tx.setText(rs.getString(name);fd1.se
8、tText(rs.getString(pwd);rs.updateString(1,tx.getText();rs.updateString (2, fd1.getText();rs.updateInt(3, user_type);rs.updateRow();JOptionPane.showConfirmDialog(this, 确定要删除吗?, 系统提示,JOptionPane.CLOSED_OPTION,JOptionPane.INFORMATION_MESSAGE);rs.deleteRow();rs=stmt.executeQuery(select name,pwd,grade fr
9、om hy);2.3 考勤管理模块开发 考勤人员添加 1、考勤人员添加界面 2、程序的开发流程 开始添加人员信息是否为空,重复否完成,显示在表中是 3、核心代码conn=DriverManager.getConnection(jdbc:odbc:wk, sa, );stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(select id,code,name,class,tel from biao1);rs.last(); r_date
10、=new Objectrs.getRow();rs.beforeFirst();rs.close();stmt.close();conn.close();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+); 考勤管理设置 1、考勤管理设置界面 2、程序的开发流程 开始检测数据库中是否存在记录设置按钮不可用,重置,可重新设置删除表中数据,设置按钮不
11、可用是否则不可设置 3、核心代码 b1.setEnabled(false); b2.setEnabled(true);try conn=DriverManager.getConnection(jdbc:odbc:wk,sa,);ement();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()+);stmt.clo
12、se(); conn.close(); 考勤课程设置 1、考勤课程设置界面2、程序的开发流程 新建Visual class类建立课程管理窗体添加课程将数据加入库 3、核心代码 try conn=DriverManager.getConnection(jdbc:odbc:wk,sa,);stmt=conn.createStatement();for(int i=1;i=5;i+)if(i=1)stmt.executeUpdate(insert into check_class (x1,x2,x3,x4,x5) values (+jTextField1.getText()+,+jTextField
13、6.getText()+,+jTextField11.getText()+,+jTextField16.getText()+,+jTextField21.getText()+); 人员考勤管理 1、人员考勤管理界面 2、程序的开发流程 选择课程扫描卡号确定选择考勤类型添加 3、核心代码 计算日期 Date date1=new Date(); Calendar c=Calendar.getInstance(Locale.CHINESE); c.setTimeInMillis(date1.getTime(); c.add(Calendar.HOUR,-10); DateFormat df=Date
14、Format.getDateTimeInstance(); try return c.getTime().before(df.parse(date2); catch (ParseException e) e.printStackTrace();return false;conn=DriverManager.getConnection(jdbc:odbc:wk,sa,); stmt=conn.createStatement();rs=stmt.executeQuery(select code from yu_kq where name=+tx2.getText()+);if(rs.next()s
15、_code=rs.getString(1);Calendar c=Calendar.getInstance(Locale.CHINESE);SimpleDateFormat sim=new SimpleDateFormat(yyyy-MM-dd HH:mm:ss);c.getTime(); c.add(Calendar.HOUR, +14); s_datetime=sim.format(c.getTime(); 2.4 考勤查询 考勤卡号查询 1、考勤卡号查询界面 2、程序的开发流程 输入考号/日期从数据库中获取信息显示在表中 3、核心代码 date=new Objectrs.getRow()
16、;rs.beforeFirst();s.remove(bg); bg=new JTable(date,t);bg.setBounds(10, 120, 350, 180); s.setViewportView(bg);s.setBounds(10, 120, 350, 185); 考勤姓名查询 1、考勤姓名查询界面 2、程序的开发流程 输入姓名/日期从数据库中获取信息显示在表中在数据库中建立“人员考勤”视图 3、核心代码 conn=DriverManager.getConnection(jdbc:odbc:wk,sa,);stmt=conn.createStatement(ResultSet.
17、TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(select * from find_code where name=+t_code.getText()+); rs.last(); 考勤周次查询 1、考勤周次查询界面 2、程序的开发流程 输入信息从数据库中获取信息输出显示 3、核心代码 周次转换为天数的算法 (周数-1)*7+星期几调用以下类中的方法daycount=(Integer.parseInt(t_week.getText()-1)*7+Integer.parseInt(t_date.getT
18、ext();System.out.println(天数+daycount); String result = ; DateFormat df = new SimpleDateFormat(yyyy-MM-dd); long i=86400000; try Date ldate = df.parse(ymd);result = df.format(new Date(ldate.getTime()+nextYmd * i).toString(); catch (ParseException e) e.printStackTrace(); return result;第三章 总结3.1 建立数据源
19、1、使用JDBC-ODBC java联接了数据源 2、使用JDBC for SQL* 驱动。映射ODBC 桥JAVA 3、建立数据源ODBC控制面板管理工具数据源ODBC系统DSN添加选择数据库类型SQL指定数据源名称:(名称:ts)服务器名称:在服务管理中粘贴登录方式 系统默认更改默认数据库(新建的库)数据源测试完成private Connection conn=null;/声明数据联接 private Statement stmt=null;/传递sql语句private ResultSet rs=null;/接收结果(记录集)3.2 控件使用 1、JFrame添加背景图片/菜单背景.pr
20、ivate Image img_main=null;private ImageIcon icon_main=null;private JLabel l=null;private JLayeredPane p=null;/背景图标img_main=ImageIO.read(this.getClass().getResource(/pro_2/pic/main.jpg);icon_main=new ImageIcon(img_main);/添加背景图片l=new JLabel(icon_main);p=this.getLayeredPane();p.setOpaque(false); l.setB
21、ounds(0,0,icon_main.getIconWidth(), icon_main.getIconHeight();/设置背景标签的位置p.add(l, new Integer(Integer.MIN_VALUE);/注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。 Container cp=this.getContentPane();cp.setLayout(null);(JPanel)cp).setOpaque(false);2、如何在jTextField上添加事件,实现输入数据触发事件t-jTextField对象t.getDocument().addDo
22、cumentListener(new DocumentListener()public void changedUpdate(DocumentEvent arg0) /当属性或者属性集发生变化时通知public void insertUpdate(DocumentEvent 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语言功能的强大。