课
程
设
计
职工考勤管理系统
姓名:
班级:
学号:
学院:
职工考勤管理系统的设计和实现
一、系统介绍:
管理员可通过登录名和密码进入考勤系统,可以通过职工编号来进行对各别员工的查询,进行考勤,也可以查看全体员工的考勤情况,还可以进行添加,删除等操作。
二、系统设计:
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.启动SQL Server 2005
2.建立数据库
打开企业管理器,新建数据库Student
3.创建表kaoqing, kaoqing表的字段的属性为:
Kaoqing表如下所示: 职工编号
职工姓名
所在部门
性别 缺勤次数 请假次数 出差次数 职工
三、系统的实现:
3.1数据库的连接:
1.创建ODBC数据源:选择“控制面板”——“管理工具”——“ODBC数据源”,在双击ODBC数据源后,选择“用户DSN”,添加新的数据源,单击“配置”,选择SQL Server,数据源名称为mymoon,设置用户名为sa,密码为163123,选择数据库Student。
2.建立JDBC-ODBC 桥接器:
Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);建立桥接器时可能发生异常,为捕获这个异常,所以建立桥接器的标准为:
Try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDrivder”);}
Catch(ClassNotFoundException e){}
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(SQL Exception e){}
3.2系统实现:
1 用户登录
当用户登陆时,首先出现的是一个登陆页面,只有输入正确的管理员姓名和密码时,才能进入考勤系统。关键代码如下:
欢迎进入职工考勤管理系统!
如下图3.2.1所示:
2.用户检查
对输入的管理员姓名和密码进行检查,如若正确,则转到考勤页面,若不正确,则返回到登陆页面,再次输入姓名和密码,直至正确。代码如下:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
String name=request.getParameter("name") ;
String password=request.getParameter("number");
if(name.equals("shenyan") || password.equals("08260021"))
{ //检查管理员姓名和密码是否正确
%>
<%
}
else
{
%>
<%
}
%>
如下图3.2.2所示:
3.按职工编号考勤:
输入职工编号,可以通过调用bean来取得数据库中信息,并显示出来。关键代码如下:
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page import="tom.jiafei.ConditionQuery"%>
class="tom.jiafei.ConditionQuery"scope="request"/> 根据职工编 查询到的考勤记录 property="queryResultByNumber"/>
ConditonQuery.java的部分代码如下:
package tom.jiafei;
import java.sql.*;
public class ConditionQuery {
String number;//职工编号
StringBuffer queryResultByNumber;
public ConditionQuery(){
queryResultByNumber=new StringBuffer();
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");//建立一个JDBC-ODBC桥接器
}catch(ClassNotFoundException e){}//捕获建立桥接器时的异常
}
//
private StringBuffer f(String condition){
StringBuffer str=new StringBuffer();
Connection con;
Statement sql;
ResultSet rs;
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(" | "+"出差次数"); while(rs.next()){ str.append(" |
---|
"+rs.getString(1)+" | ");