《JAVA考勤管理系统.pdf》由会员分享,可在线阅读,更多相关《JAVA考勤管理系统.pdf(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、70+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案课程设计任务书课程设计任务书系别电气与电子工程系专业计算机应用技术班指导教级师题目JAVA考勤管理系统设计目的:熟练掌握JAVA程序设计图形开发、事件驱动机制、各种组件使用。设计要求:用 JAVA设计一个计算器小程序;设计的作品以单个 Java 文件形式,若是 Applet 小程序,则附带相关的网页;不要使用包路径;代码书写规范,无语法和逻辑错误;课程设计要求:1画出程序设计流程图,说明程序设计流程。2.根据流程图,说明
2、所使用的相关知识。3.编写出程序4.撰写课程设计说明书。课程说明书里应包括目录,程序流程图,程序,总结(印象较深的经验/教训等)。要求:设计要有相应的设计报告,报告要包含题目、目录、摘要、关键字、正文、参考文献几部分;字体、字号格式按样文设置;正文要有需求分析、概要设计、详细设计、代码、结论等部分构成,并有必要的图表和效果图;结题形式程序代码,设计说明书时间分配:总体设计时间为 1 周1设计流程图 1 天2编写各部分程序 2 天3上机调试,实现功能 1 天4写说明书、答辩 1 天目录目录170+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+140+140+8
3、0m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案第一章 考勤管理系统功能.2第二章 软件开发.42.1 用户登录.42.2 用户管理模块开发.42.2.12.2.1用户添加.42.2.22.2.2用户修改.52.2.32.2.3用户删除.62.3 考勤管理模块开发.72.3.12.3.1考勤人员添加.72.3.22.3.2考勤管理设置.92.3.32.3.3考勤课程设置.102.3.42.3.4人员考勤管理.112.4 考勤查询.132.4.12.4.1考勤卡号查询.132.4.22.4.2考勤姓名查询.142.4.32.4.3考勤周次查询.15第三章总结.173.1 建
4、立数据源.173.2 控件使用.173.3JAVA 代码结构认识.18第一章第一章 考勤管理系统功能考勤管理系统功能说明考勤管理系统为了解决班级考勤,开发的一个基于JavaSwing 和 mssql 的桌面管理系统。介绍主要功能(模块结构图)考勤管理系统2用考考70+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案370+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+140+140+80m80+140+140+80m 连续刚构桥施工方案连
5、续刚构桥施工方案第二章第二章 软件开发软件开发2.12.1 用户登录用户登录1、用户登录界面2、程序的开发流程输入用户名、密码数据库中是否有记录是否进入管理界面3、核心代码str3=select*from hy where name=+str1+and pwd=+str2+;con=DriverManager.getConnection(jdbc:odbc:wk,sa,);stmt=con.createStatement();2.22.2 用户管理模块开发用户管理模块开发2.2.1 用户添加1、用户添加界面470+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80
6、+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案2、程序的开发流程按下 下一个 按钮否记录是显示下一记录否到底是游标到起始记录3、核心代码Stringstr_sql=insert into biao(name,pwd,grade)values(+str_name+,+str_pwd+,+user_type+);try conn=DriverManager.getConnection(jdbc:odbc:wk,sa,);stmt=conn.createStatement();stmt.executeUpdate(str_sql);JOptionPane.
7、showConfirmDialog(this,添加成功!,系统提示,JOptionPane.CLOSED_OPTION,JOptionPane.INFORMATION_MESSAGE);tx.setText();fd1.setText();fd2.setText();catch(SQLException e)e.printStackTrace();2.2.2 用户修改 1、用户修改界面570+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案2、程序的开发流程开始修改用户修改
8、用户或密码是否是否更新用户或密更新3、核心代码conn=DriverManager.getConnection(jdbc:odbc:wk,sa,);sta=conn.createStatement(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.setText(pwd.
9、getText();2.2.3 用户删除 1、用户删除界面670+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案2、程序的开发流程删除获取卡号否是否删除是删除3、核心代码conn=DriverManager.getConnection(jdbc:odbc:wk,sa,);stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQ
10、uery(select name,pwd,grade from hy);rs.next();tx.setText(rs.getString(name);fd1.setText(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.INFO
11、RMATION_MESSAGE);rs.deleteRow();rs=stmt.executeQuery(select name,pwd,grade from hy);2.32.3 考勤管理模块开发考勤管理模块开发2.3.1 考勤人员添加 1、考勤人员添加界面770+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案2、程序的开发流程开始添加人员信息是是否为空,重复否完成,显示在表中3、核心代码conn=DriverManager.getConnection(jdbc:odb
12、c: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=new Objectrs.getRow();rs.beforeFirst();rs.close();stmt.close();conn.close();i=0870+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+
13、140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案bg=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、程序的开发流程开始检测数据库中否是否存在记录则不可设置是设置按钮不可用,删除表中数据,重置,可重新设置设置按钮不可用3、核心代码970+120+120+70m70+120+
14、120+70m 连续梁桥连续梁桥 及及 80+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案b1.setEnabled(false);b2.setEnabled(true);try conn=DriverManager.getConnection(jdbc:odbc:wk,sa,);stmt=conn.createStatement();stmt.executeUpdate(insert into check_option(kx,c1,c2,c3,c4,c5)values(+tx1.getText()+,+tx2.getText()+,+tx3.get
15、Text()+,+tx4.getText()+,+tx5.getText()+,+tx6.getText()+);stmt.close();conn.close();2.3.3 考勤课程设置 1、考勤课程设置界面2、程序的开发流程1070+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案新建 Visual class类建立课程管理窗体添加课程将数据加入库3、核心代码tryconn=DriverManager.getConnection(jdbc:odbc:wk,sa,);s
16、tmt=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()+,+jTextField6.getText()+,+jTextField11.getText()+,+jTextField16.getText()+,+jTextField21.getText()+);2.3.4 人员考勤管理 1、人员考勤管理界面1170+120+120+70m70+120+120+70m 连续梁桥
17、连续梁桥 及及 80+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案2、程序的开发流程选择课程扫描卡号确定选 择 考勤类型添加3、核心代码计算日期 Date date1=new Date();Calendar c=Calendar.getInstance(Locale.CHINESE);c.setTimeInMillis(date1.getTime();c.add(Calendar.HOUR,-10);DateFormat df=DateFormat.getDateTimeInstance();try return c.getTime().before
18、(df.parse(date2);catch(ParseException e)e.printStackTrace();returnfalse;conn=DriverManager.getConnection(jdbc:odbc:wk,sa,);stmt=conn.createStatement();rs=stmt.executeQuery(select code from yu_kq wherename=+tx2.getText()+);if(rs.next()s_code=rs.getString(1);Calendar c=Calendar.getInstance(Locale.CHIN
19、ESE);SimpleDateFormat sim=new SimpleDateFormat(yyyy-MM-ddHH:mm:ss);c.getTime();c.add(Calendar.HOUR,+14);s_datetime=sim.format(c.getTime();1270+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案2.42.4 考勤查询考勤查询2.4.1 考勤卡号查询 1、考勤卡号查询界面2、程序的开发流程输入考号/日期从数据库中获取信息显示在表中1370
20、+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案 3、核心代码 date=new Objectrs.getRow();rs.beforeFirst();s.remove(bg);bg=newJTable(date,t);bg.setBounds(10,120,350,180);s.setViewportView(bg);s.setBounds(10,120,350,185);2.4.2 考勤姓名查询 1、考勤姓名查询界面2、程序的开发流程在数据库中建立“人员考勤”视图输入
21、姓名/日期从数据库中获取信息显示在表中3、核心代码conn=DriverManager.getConnection(jdbc:odbc:wk,sa,);stmt=conn.createStatement(ResultSet.TYPE_SCROL1470+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案L_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=stmt.executeQuery(select*from find_codewhere
22、name=+t_code.getText()+);rs.last();考勤周次查询 1、考勤周次查询界面 2、程序的开发流程输入信息从数据库中获取信息输出显示2.4.31570+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案 3、核心代码周次转换为天数的算法(周数-1)*7+星期几调用以下类中的方法daycount=(Integer.parseInt(t_week.getText()-1)*7+Integer.parseInt(t_date.getText();Syste
23、m.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;1670+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80
24、+140+140+80m80+140+140+80m 连续刚构桥施工方案连续刚构桥施工方案第三章第三章总结总结3.13.1 建立数据源建立数据源 1、使用 JDBC-ODBC java 联接了数据源2、使用 JDBC for SQL*驱动。映射ODBC 桥JAVA3、建立数据源 ODBC控制面板管理工具数据源 ODBC系统 DSN添加选择数据库类型 SQL指定数据源名称:(名称:ts)服务器名称:在服务管理中粘贴登录方式 系统默认更改默认数据库(新建的库)数据源测试完成private Connection conn=null;/声明数据联接 private Statement stmt=nul
25、l;/传递sql语句private ResultSet rs=null;/接收结果(记录集)3.23.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.getClass().getResource(/pro_2/pic/main.jpg);icon_main=new ImageIcon(img_ma
26、in);/添加背景图片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的LayeredPane面板里。1770+120+120+70m70+120+120+70m 连续梁桥连续梁桥 及及 80+140+140+80m80+140+140+
27、80m 连续刚构桥施工方案连续刚构桥施工方案 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(Docu
28、mentEvent arg0)/文本输入时通知public void removeUpdate(DocumentEvent arg0)/删除文本时通知);3、在容器中添加滚动条容器private JScrollPane p=new JScrollPane();/声明并创建滚动条容器p.setBounds(10,10,300,300);/设置位置this.add(p);/添加3.33.3JAVAJAVA 代码结构认识代码结构认识通过这次的课程设计,让我更好的巩固了 JAVA 课程中所学习地知识,对JAVA 开发程序有了一个系统的了解。知道了在开发程序时,应该先构建一个体系,在设计程序前应该先将程序的流程图画出来,再有目的的去编写各部分的程序。同时,也让我感觉到了 JAVA 语言功能的强大。面对强大的对手,明知不敌,也要毅然亮剑,即使倒下,也要化成一座山18