员工考勤管理系统毕业设计.docx

上传人:b****5 文档编号:7376752 上传时间:2023-01-23 格式:DOCX 页数:16 大小:2.89MB
下载 相关 举报
员工考勤管理系统毕业设计.docx_第1页
第1页 / 共16页
员工考勤管理系统毕业设计.docx_第2页
第2页 / 共16页
员工考勤管理系统毕业设计.docx_第3页
第3页 / 共16页
员工考勤管理系统毕业设计.docx_第4页
第4页 / 共16页
员工考勤管理系统毕业设计.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

员工考勤管理系统毕业设计.docx

《员工考勤管理系统毕业设计.docx》由会员分享,可在线阅读,更多相关《员工考勤管理系统毕业设计.docx(16页珍藏版)》请在冰豆网上搜索。

员工考勤管理系统毕业设计.docx

员工考勤管理系统毕业设计

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

一、系统介绍:

管理员可通过登录名与密码进入考勤系统,可以通过职工编号来进行对各别员工的查询,进行考勤,也可以查看全体员工的考勤情况,还可以进行添加,删除等操作。

二、系统设计:

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.启动SQLServer2005

2.建立数据库

打开企业管理器,新建数据库Student

3.创建表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用户登录

当用户登陆时,首先出现的是一个登陆页面,只有输入正确的管理员姓名与密码时,才能进入考勤系统。

关键代码如下:

登陆页面

欢迎进入职工考勤管理系统!

//转页到check.jsp

页面

   管理员:

密码:

如下图3.2.1所示:

2.用户检查

对输入的管理员姓名与密码进行检查,如若正确,则转到考勤页面,若不正确,则返回到登陆页面,再次输入姓名与密码,直至正确。

代码如下:

<%@pagecontentType="text/html"pageEncoding="UTF-8"%>

JSPPage

<%

Stringname=request.getParameter("name");

Stringpassword=request.getParameter("number");

if(name.equals("shenyan")||password.equals("08260021"))

{//检查管理员姓名与密码是否正确

%>

forwardpage="sucess.jsp"/>//正确,跳转到考勤页面

<%

}

else

{

%>

forwardpage="form.html"/>//不正确,返回到登陆页面

<%

}

%>

如下图3.2.2所示:

3.按职工编号考勤:

输入职工编号,可以通过调用bean来取得数据库中信息,并显示出来。

关键代码如下:

<%@pagecontentType="text/html"pageEncoding="UTF-8"%>

<%@pageimport="tom.jiafei.ConditionQuery"%>

useBeanid="database"class="tom.jiafei.ConditionQuery"scope="request"/>

setPropertyname="database"property="number"param="number"/>

根据职工编

getPropertyname="database"property="number"/>

查询到的考勤记录


getPropertyname="database"property="queryResultByNumber"/>

ConditonQuery.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("");

str.append(""+"职工编号");

str.append(""+"职工姓名");

str.append(""+"所在部门");

str.append(""+"性别");

str.append(""+"缺勤次数");

str.append(""+"请假次数");

str.append(""+"出差次数");

while(rs.next()){

str.append("");

str.append(""+rs.getString

(1)+"");

str.append(""+rs.getString

(2)+"");

str.append(""+rs.getString(3)+"");

str.append(""+rs.getString(4)+"");

str.append(""+rs.getString(5)+"");

str.append(""+rs.getString(6)+"");

str.append(""+rs.getString(7)+"");

str.append("");

}

str.append("");

con.close();

}catch(SQLExceptione){str.append(e);}

returnstr;

}

其结果如下图3.2.3所示:

4.查看全体职工考勤记录

关键代码如下:

<%@pagecontentType="text/html"pageEncoding="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("");

out.print(""+"职工编号");

while(rs.next()){

out.print("");

out.print(""+rs.getString

(1)+"");

out.print("");

}

out.print("");

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"%>

useBeanid="look"class="tom.jiafei.QueryBean"scope="request"/>

useBeanid="add"class="tom.jiafei.addBean"scope="request"/>

setPropertyname="look"property="ODBCDataSource"value="mymoon"/>

setPropertyname="look"property="tableName"value="kaoqing"/>

setPropertyname="look"property="user"value="sa"/>

setPropertyname="look"property="secret"value="163123"/>


输入职工编号:

setPropertyname="add"property="*"/>


您的操作结果:

getPropertyname="add"property="addMessage"/>

数据库当前的数据记录是:

getPropertyname="look"property="queryResult"/>

Addbean的关键代码:

publicStringgetAddMessage(){

Stringstr="";

Connectioncon;

Statementsql;

try{

con=DriverManager.getConnection("jdbc:

odbc:

mymoon","sa","163123");

StringinsertCondition="insertintokaoqing(职工编号,职工姓名,所在部门,性别,缺勤次数,请假次数,出差次数)"+"values('"+number+"','"+name+"','"+department+"','"+sex+"','"+queq+"','"+qingj+"','"+chuc+"')";

sql=con.createStatement();

if(number!

=null){

intm=sql.executeUpdate(insertCondition);

if(m!

=0){

str="对表中添加"+m+"条记录成功";

}else{

str="添加失败";

}

}else{

str="必须要有员工号";

}

con.close();

}catch(SQLExceptione){

str="输入的员工号不允许有重复"+e;

}

returnstr;

}

}

添加结果如3.3.5所示:

6.删除职工信息

与添加操作基本相同,关键代码如下:

Delete.jsp部分代码:

<%@pageimport="tom.jiafei.QueryBean"%>

<%@pageimport="tom.jiafei.delBean"%>

useBeanid="look"class="tom.jiafei.QueryBean"scope="request"/>

useBeanid="del"class="tom.jiafei.delBean"scope="request"/>

setPropertyname="look"property="ODBCDataSource"value="mymoon"/>

setPropertyname="look"property="tableName"value="kaoqing"/>

setPropertyname="look"property="user"value="sa"/>

setPropertyname="look"property="secret"value="163123"/>


输入要删除的员工号:


setPropertyname="del"property="*"/>



您的更新操作结果:

getPropertyname="del"property="delMessage"/>

数据库当前的数据记录是:

getPropertyname="look"property="queryResult"/>

Deletebean的关键代码如下:

publicStringgetDelMessage(){

Stringstr="";

Connectioncon;

Statementsql;

StringdelCondition="deletefromkaoqingwhere职工编号='"+number+"'";

try{

con=DriverManager.getConnection("jdbc:

odbc:

mymoon","sa","163123");

sql=con.createStatement();

if(number!

=null){

intm=sql.executeUpdate(delCondition);

if(m!

=0){

str="对表中删除"+m+"条记录成功";

}else{

str="删除失败";

}

}else{

str="必须指定要删除的员工号";}con.close();

}catch(SQLExceptione){str="员工号不存在";}returnstr;

}

}

操作结果如3.2.6所示:

四.总结:

这个系统是职工考勤管理系统,要求对职工进行出勤,缺勤等

的考查,另外还带有添加,删除等操作,所以一开始设计这个系统

感到没有头绪,不得要领,并且没有足够的知识来运用,于是查找了

很多的书籍,希望能有所帮助。

随着课程的进行,对JSP的了解也日

益增加,能够把系统的部分功能渐渐的写出来了。

在此过程中也出现

了一些困难,比如连接数据库,一开始的时候不会连接,后来参考了

书籍,按照书上的方法才连接成功,使得JSP程序与数据源取得了连

系;还有就是在写添加操作这个功能时,也遇到了一点麻烦,总是出

现乱码,后来在包里又新建了一个java类,写了控制乱码的语句才

使添加功能正常运行了。

在这次课程设计中,虽然系统完成了,但还是有不足的地方。

写程序时,有些地方应该用到的语句不懂,所以只能用自己会的来编

写,从而放弃了最适宜的语句,使得整个程序有了些瑕疵。

这让我明

白了一门课程还是要完全掌握吃透了才行啊。

总的来说,这次职工考勤管理系统的设计与实现完成了。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1