63职工考勤管理系统的设计与实现

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

课程设计职工考勤管理系统姓名:班级:学号:学院:职工考勤管理系统的设计与实现一、系统介绍:管理员可通过登录名与密码进入考勤系统,可以通过职工编号来进行对各别员工的查询,进行考勤,也可以查看全体员工的考勤情况,还可以进行添加,删除等操作。二、系统设计:2.1根据系统功能,可以画出如下流程图:针对职工管理系统的流程图,现具体描述其功能:1、管理员登陆:系统对其合法性进行检查2、职工个人考勤:通过职工编号查询其信息3、全体职工考勤:查看全体职工信息4、添加操作:添加职工的各种基本信息5、删除操作:根据职工编号删除某个职工的全部信息2.2数据库的逻辑设计根据系统的功能可以设计有关的概念模型,该系统涉及一张职工考勤信息表,可以画出如下E-R图:管理员登陆用户验证查询操作添加操作,删除操作2.2.1:管理员实体E-R图:2.2.2:职工实体E-R图:管理员管理员名称密码职工编号职工姓名所在部门性别缺勤次数请假次数出差次数职工2.2.3:数据库设计:1.启动SQLServer20052.建立数据库打开企业管理器,新建数据库Student3.创建表kaoqing,kaoqing表的字段的属性为:Kaoqing表如下所示:三、系统的实现:3.1数据库的连接:1.创建ODBC数据源:选择“控制面板”——“管理工具”——“ODBC数据源”,在双击ODBC数据源后,选择“用户DSN”,添加新的数据源,单击“配置”,选择SQLServer,数据源名称为mymoon,设置用户名为sa,密码为163123,选择数据库Student。2.建立JDBC-ODBC桥接器:Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);建立桥接器时可能发生异常,为捕获这个异常,所以建立桥接器的标准为:Try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDrivder”);}Catch(ClassNotFoundExceptione){}3.与ODBC数据源指定的数据库建立连接:使用java.sql包中的Connection类声明一个对象,然后使用类DriverManager调用它的一个静态方法getConnection创建这个连接对象,con=DriverManager.getConnection(jdbc:odbc:mymoon,sa,163123);捕获异常为try{con=DriverManager.getConnection(jdbc:odbc:mymoon,sa,163123);}catch(SQLExceptione){}3.2系统实现:1用户登录当用户登陆时,首先出现的是一个登陆页面,只有输入正确的管理员姓名与密码时,才能进入考勤系统。关键代码如下:htmlheadtitle登陆页面/titlemetahttp-equiv=Content-Typecontent=text/html;charset=UTF-8/headbodybackground=ip.JPGcenterh1欢迎进入职工考勤管理系统!formaction=check.jspmethod=post//转页到check.jsp页面   管理员:inputtype=textname=name密码:inputtype=textname=numberinputtype=submitvalue=提交/form/center/body/html如下图3.2.1所示:2.用户检查对输入的管理员姓名与密码进行检查,如若正确,则转到考勤页面,若不正确,则返回到登陆页面,再次输入姓名与密码,直至正确。代码如下:%@pagecontentType=text/htmlpageEncoding=UTF-8%htmlheadmetahttp-equiv=Content-Typecontent=text/html;charset=UTF-8titleJSPPage/title/headbody%Stringname=request.getParameter(name);Stringpassword=request.getParameter(number);if(name.equals(shenyan)||password.equals(08260021)){//检查管理员姓名与密码是否正确%jsp:forwardpage=sucess.jsp///正确,跳转到考勤页面%}else{%jsp:forwardpage=form.html///不正确,返回到登陆页面%}%/body/html如下图3.2.2所示:3.按职工编号考勤:输入职工编号,可以通过调用bean来取得数据库中信息,并显示出来。关键代码如下:%@pagecontentType=text/htmlpageEncoding=UTF-8%%@pageimport=tom.jiafei.ConditionQuery%jsp:useBeanid=databaseclass=tom.jiafei.ConditionQueryscope=request/jsp:setPropertyname=databaseproperty=numberparam=number/根据职工编jsp:getPropertyname=databaseproperty=number/查询到的考勤记录BRjsp:getPropertyname=databaseproperty=queryResultByNumber/formmethod=getaction=sucess.jspinputtype=submitvalue=返回上一页面/formformmethod=getaction=form.htmlinputtype=submitvalue=返回登录页面/formConditonQuery.java的部分代码如下:packagetom.jiafei;importjava.sql.*;publicclassConditionQuery{Stringnumber;//职工编号StringBufferqueryResultByNumber;publicConditionQuery(){queryResultByNumber=newStringBuffer();try{Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);//建立一个JDBC-ODBC桥接器}catch(ClassNotFoundExceptione){}//捕获建立桥接器时的异常}//privateStringBufferf(Stringcondition){StringBufferstr=newStringBuffer();Connectioncon;Statementsql;ResultSetrs;try{con=DriverManager.getConnection(jdbc:odbc:mymoon,sa,163123);//连接数据库sql=con.createStatement();rs=sql.executeQuery(condition);str.append(tableborder=1);str.append(thwidth=100+职工编号);str.append(thwidth=100+职工姓名);str.append(thwidth=100+所在部门);str.append(thwidth=100+性别);str.append(thwidth=100+缺勤次数);str.append(thwidth=100+请假次数);str.append(thwidth=100+出差次数);while(rs.next()){str.append(tr);str.append(td+rs.getString(1)+/td);str.append(td+rs.getString(2)+/td);str.append(td+rs.getString(3)+/td);str.append(td+rs.getString(4)+/td);str.append(td+rs.getString(5)+/td);str.append(td+rs.getString(6)+/td);str.append(td+rs.getString(7)+/td);str.append(/tr);}str.append(tableborder=1);con.close();}catch(SQLExceptione){str.append(e);}returnstr;}其结果如下图3.2.3所示:4.查看全体职工考勤记录关键代码如下:%@pagecontentType=text/htmlpageEncoding=UTF-8%%@pageimport=java.sql.*%%Connectioncon;Statementsql;ResultSetrs;try{Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);}catch(ClassNotFoundExceptione){out.print(e);}//捕获建立桥接器时的异常try{con=DriverManager.getConnection(jdbc:odbc:mymoon,sa,163123);sql=con.createStatement();rs=sql.executeQuery(SELECT*FROMkaoqing);out.print(tableborder=2);out.print(thwidth=100+职工编号);while(rs.next()){out.print(tr);out.print(td+rs.getString(1)+/td);out.print(/tr);}out.print(/tableborder=2);con.close();}catch(SQLExceptione1){out.print(e1);}%其查询结果如下图3.2.4所示:5.添加职工信息操作此操作用到了addbean和querybean,其中querybean帮助其查询kaoqing表中的记录;而addbean是add.jsp调用它把信息添加到kaoqingbiao中,关键代码如下:add.jsp的部分代码:%@pageimport=tom.jiafei.QueryBean%%@pageimport=tom.jiafei.addBean%jsp:useBeanid=lookclass=tom.jiafei.QueryBeanscope=request/jsp:useBeanid=addclass=tom.jiafei.addBeanscope=request/jsp:setPropertyname=lookproperty=ODBCDataSourcevalue=mymoon/jsp:setPropertyname=lookproperty=tableNamevalue=kaoqing/jsp:setPropertyname=lookproperty=uservalue=sa/jsp:setPropertyname=lookproperty=secretvalue=163123/formaction=add.jspmethod=postbr输入职工编号:inputtype=textname=numbersize=6jsp:setPropertyname=addprope

1 / 22
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功