JAVA考勤管理系统 19页

  • 443.77 KB
  • 2022-05-17 13:48:06 发布

JAVA考勤管理系统

  • 19页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
精品文档课程设计任务书系别电气与电子工程系专业计算机应用技术班级指导教师题目JAVA考勤管理系统设计目的:熟练掌握JAVA程序设计图形开发、事件驱动机制、各种组件使用。设计要求:用JAVA设一个计算器小程序;设计的作品以单个Java文件形式,若是Applet小程序,则附带相关的网页;不要使用包路径;代码书写规范,无语法和逻辑错误;课程设计要求:1.画出程序设计流程图,说明程序设计流程。2.根据流程图,说明所使用的相关知识。3.编写出程序4.撰写课程设计说明书。课程说明书里应包括目录,程序流程图,程序,总结(印象较深的经验/教训等)。要求:设计要有相应的设计报告,报告要包含题目、目录、摘要、关键字、正文、参考义献几部分;字体、字号格式按样义设置;正义要有需求分析、概要设计、详细设计、代码、结论等1FB分构成,并有必要的图表和效果图;结题形式程序代码,设计说明书时间分配:总体设计时间为1周1.设计流程图1天2.编写各部分程序2天3.上机调试,实现功能1天4.写说明书、答辩1天 精品文档目录第一章考勤管理系统功能3.第二章软件开发4.2.1用户登录4.2.2用户管理模块开发4.2.2.1用户添加4.2.2.2用户修改6.2.2.3用户删除7.2.3考勤管理模块开发8.2.3.1考勤人员添加8.2.3.2考勤管理设置9.2.3.3考勤课程设置.102.3.4人员考勤管理112.4考勤查询1.32.4.1考勤卡号查询.132.4.2考勤姓名查询142.4.3考勤周次查询.15第三章总结1.73.1建立数据源1.73.2控件使用1.7 精品文档3.1JAVA代码结构认识18 精品文档第一章考勤管理系统功能说明《考勤管理系统》为了解决班级考勤,开发的一个基于Jav建Swing和mssql的桌面管理系统。介绍主要功能(模块结构图)考勤管理系统考勤查询用户添加用户修改用户删除系统退出考勤人员添加考勤管理设置考勤课程设置人员考勤管理考勤卡号查询考勤姓名查询考勤周次查询考勤管理 精品文档第二章软件开发2.1用户登录1、用户登录界面2、程序的开发流程3、核心代码str3="select*fromhywherename=""+str1+""andpwd=""+str2+""";con=DriverManager.getConnection("jdbc:odbc:wk","sa","");stmt=con.createStatement();2.2用户管理模块开发2.2.1用户添加1、用户添加界面 精品文档2、程序的开发流程列名数据类型长度允详空►Eint4口印ncvaruh"20pwdvarchar20gradeilit43、核心代码Stringstr_sql="insertintobiao(name,pwd,grade)values("+str_name+""J"+str_pwd+"":"+user_type+"")";try{conn=DriverManager.getConnection("jdbc:odbc:wk","sa","");stmt=conn.createStatement();stmt.executeUpdate(str_sql);JOptionPane.showConfirmDialog(this,”添加成功匚"系统提示",JOptionPane.CLOSED_OPTIOOptionPane.INFORMATION_MESSAGEtx.setText("");fd1.setText("");fd2.setText("");}catch(SQLExceptione){e.printStackTrace();} 精品文档2.1.1用户修改1、用户修改界面2、程序的开发流程3、核心代码conn=DriverManager.getConnection("jdbc:odbc:wk","sa","");sta=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);rs=sta.executeQuery("selectname,pwd,gradefromhy");rs.next();text1.setText(rs.getString("name"));pwd.setText(rs.getString("pwd"));cpwd.setText(pwd.getText()); 精品文档2.2.3用户删除1、用户删除界面2、程序的开发流程3、核心代码conn=DriverManager.getConnection("jdbc:odbc:wk","sa","");stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSIT,IVEResultSet.CONCUR_UPDATABLErs=stmt.executeQuery("selectname,pwd,gradefromhy");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.showCon巾rmDialog(this,"确定要删除吗?","系统提",JOptionPane.CLOSED_OPTIOOptionPane.INFORMATION_MESSAGE;rs.deleteRow(); 精品文档rs=stmt.executeQuery("selectname,pwd,gradefromhy");2.1考勤管理模块开发2.1.1考勤人员添加1、考勤人员添加界面2、程序的开发流程1列名数挂idintcodevarchar啊巾vercharwarcharMlverchar允许至4505050503、核心代码conn=DriverManager.getConnection("jdbc:odbc:wk","sa",""); 精品文档stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSIT,IVEResultSet.CONCUR_UPDATABLErs=stmt.executeQuery("selectid,code,name,class,telfrombiaol");rs.last();r_date=newObject[rs.getRow()]口;rs.beforeFirst();rs.close();stmt.close();conn.close();i=0}bg=newJTable(r_date,t);s=newJScrollPane();s.setViewportView(bg);sql="insertintokq(code,name,class,tel)values("+scode+"?"+sname+""J"+sclass+"",”"+stel+"")";2.1.1考勤管理设置、考勤管理设置界面列名数据类型]长度允许空►n.ol_cLassvarchar50noZclassvarchar5口iwS_cLassvarchar50no4_cLazEvarchar50b_stnvarchar502、程序的开发流程 精品文档3、核心代码bl.setEnabled(false);b2.setEnabled(true);try{conn=DriverManager.getConnection("jdbc:odbc:wk","sa","");stmt=conn.createStatement();stmt.executeUpdate("insertintocheck_option(kx,c1,c2,c3,c4,c5)valuesC"+tx1.getText()+”"J"+tx2.getText()+”"J"+tx3.getText()+"""+"”"+tx4.getText()+”"J"+tx5.getText()+”"J"+tx6.getText()+"")");stmt.close();conn.close();2.1.1考勤课程设置1、考勤课程设置界面1列名虢翘长度.解空|varchar50vuchar50virchflir50|i4varcbar5。varchar50 精品文档2、程序的开发流程3、核心代码try{conn=DriverManager.getConnection("jdbc:odbc:wk","sa","");stmt=conn.createStatement();for(inti=1;i<=5;i++){if(i==1){stmt.executeUpdate("insertintocheck_class(x1,x2,x3,x4,x5)valuesC"+jTextField1.getText()+”"J"+jTextField6.getText()+”"J"+jTextField11.getText()+”"J"+jTextField16.getText()+”"J"+jTextField21.getText()+"")");}2.1.1人员考勤管理1、人员考勤管理界面 精品文档精品文档精品文档精品文档雕软麟型长度vardur50□.datevarchar5Cn_tienivycharanotevychar50varcW582、程序的开发流程3、核心代码精品文档Datedate1=newDate();Calendarc=Calendar.getInstance(Locale.CHINESE);c.setTimeInMillis(date1.getTime());c.add(Calendar.HOUR,-10);DateFormatdf=DateFormat.getDateTimeInstance();try{returnc.getTime().before(df.parse(date2));}catch(ParseExceptione){e.printStackTrace();returnfalse;}conn=DriverManager.getConnection("jdbc:odbc:wk","sa","");stmt=conn.createStatement();yu_kqwherers=stmt.executeQuery("selectcodefrom 精品文档name=”"+tx2.getText()+"”");if(rs.next()){s_code=rs.getString(1);ddCalendarc=Calendar.getInstance(Locale.CHINESESimpleDateFormatsim=newSimpleDateFormat("yyyy-MMHH:mm:ss");c.getTime();c.add(Calendar.HOUR+14);s_datetime=sim.format(c.getTime());2.1考勤查询2.1.1考勤卡号查询、考勤卡号查询界面精品文档精品文档2、程序的开发流程精品文档 精品文档3、核心代码date=newObject[rs.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、程序的开发流程3、核心代码conn=DriverManager.getConnection"sa","");stmt=conn.createStatement(ResultSet.("jdbc:odbc:wkTYPE_SCROL 精品文档L_SENSITIVE,ResultSet.CONCUR_UPDATABLErs=stmt.executeQuery("select*fromfind_codewherename=""+t_code.getText()+"”");rs.last();2.4.2考勤周次查询1、考勤周次查询界面□工啰砂叁:阿一塔木】因1输入卡号】Mini|【输入周次1加11日|E^ABtl1£%11-91(5―IKlftffiMHl|第一犬节直河2、程序的开发流程 精品文档zlJ瞄裳鼬蚌庠翘融照鼠.或一城…*ctide孙刎V:tsn.zkeJcjersiiduteNMzl1S"ELEZ?dbo..yu_kq.zoia,Hidcheckjarsolnsi^dbiyl_fc-JLiat®.4bcjr_kQD_tien.lito.pkj.(bo.>n_kl也强,用皿dbc.^kiraJOiDf,dt«.cjitcijersMM£bo.yu_kicott言亦露eieekjfrszicolt3、核心代码周次转换为天数的算法(周数-1)*7+星期几调用以下类中的方法daycount=(Integer.parseInt(t_week.getText())-1)*7+Integer.parseInt(t_date.getText());System.out.println("天数"+daycount);Stringresult="";DateFormatdf=newSimpleDateFormat("yyyy-MM-dd");longi=86400000;try{Dateldate=df.parse(ymd);result=df.format(newDate(ldate.getTime()+nextYmd*i)).toString();}catch(ParseExceptione){e.printStackTrace();}returnresult;}} 精品文档第三章总结3.1建立数据源1、使用JDBC-ODBCjava联接了数据源2、使用JDBCforSQL**驱动。控制面板一一管理工具一一数据源ODBC——系统DSN--添加一一选择数据库类型SQL指定数据源名称:(名称:ts)——服务器名称:在服务管理中粘贴——登录方式系统默认一一更改默认数据库(新建的库)——数据源测试一一完成精品文档声明数据联接传递sql语句接收结果(记录集)privateConnectionconn=null;〃privateStatementstmt=null;//privateResultSetrs=null;//3.2控件使用1、JFrame添加背景图片//菜单背景.privateImageimg_main=null;privateImageIconicon_main=null;privateJLabell=null;privateJLayeredPanep=null;//背景图标img_main=ImageIO.read(this.getClass().getResource("/pro_2/pic/main.jpg"));icon_main=newImageIcon(img_main);//疝口背景图片一l=newJLabel(icon_main);p=this.getLayeredPane();p.setOpaque(false);l.setBounds(0,0,icon_main.getIconWidth(),icon_main.getIconHeight());//设置背景标签的位置p.add(l,newInteger(Integer.MIN_VALU)E;〃注意这里是关键,将背景标签添加到jfram的LayeredPane面板里。Containercp=this.getContentPane(); 精品文档cp.setLayout(null);((JPanel)cp).setOpaque(false);2、如何在jTextField上添加事件,实现输入数据触发事件t-jTextField对象t.getDocument().addDocumentListener(newDocumentListener(){publicvoidchangedUpdate(DocumentEventarg0){//当属性或者属性集发生变化时通知}publicvoidinsertUpdate(DocumentEventarg0){//文本输入时通知}publicvoidremoveUpdate(DocumentEventarg0){//删除文本时通知}});3、在容器中添加滚动条容器privateJScrollPanep=newJScrollPane();声明并创建滚动条容器p.setBounds(10,10,300,300);//设置位置this.add(p);/徐力口3.2JAVA代码结构认识通过这次的课程设计,让我更好的巩固了JAVA课程中所学习地知识,对JAVA开发程序有了一个系统的了解。知道了在开发程序时,应该先构建一个体系,在设计程序前应该先将程序的流程图画出来,再有目的的去编写各部分的程序。同时,也让我感觉到了JAVA语言功能的强大。