资源描述
*******************
实践教学
*******************
兰州理工大学
计算机和通信学院
秋季学期
RFID技术课程设计
题 目: 基于高频RFID职员考勤系统
专业班级: 计算机科学和技术(物联网方向)1班
姓 名: 高 磊
学 号: 12280102
指导老师: 薛建彬
成 绩:______________
目录
目录 - 2 -
摘要 - 3 -
序言 - 4 -
一、 基础原理 - 5 -
1.1 RFID技术特点 - 5 -
1.1.1读写器 - 6 -
1.1.2电子标签 - 7 -
1.2 RFID系统工作原理 - 8 -
二、 系统分析和建模 - 9 -
2.1系统需求分析 - 9 -
2.2系统功效特点 - 9 -
2.3系统UHL建模 - 10 -
三、系统设计 - 11 -
3.1 OURS‐RFID‐RP试验平台系统概述 - 11 -
3.1.1系统整体布局结构设计 - 11 -
3.1.2 结构和硬件描述 - 12 -
3.2系统功效模块 - 13 -
3.3数据库设计 - 13 -
四、具体设计 - 15 -
4.1 考勤系统功效描述 - 15 -
4.2 系统模块设计 - 20 -
4.3 公共模块设计 - 25 -
总 结 27
致 谢 28
参考文件 29
附录———源代码 30
摘要
RFID(Radio Frequency Identification)即射频识别技术,又称电子标签、无线射频识别,是一个通信技术,可经过无线电讯号识别特定目标并读写相关数据,而无需识别系统和特定目标之间建立机械或光学接触.
它经过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于多种恶劣环境。RFID技术可识别高速运动物体,并可同时识别多个标签,操作快捷方便。RFID是一个简单无线系统,只有两个基础器件,该系统用于控制、检测和跟踪物体。系统由一个阅读器和很多标签组成。
本设计是以职员考勤管理系统为例,基于高频RFID技术之上,将RFID技术应用于信息化考勤管理系统,系统采取c/s模式系统架构。实现职员考勤自动化管理。
关键字:高频RFID、考勤管理系统、c/s模式
序言
多年来,自动识别技术在全球范围内得到了快速发展,在很多服务领域、货物销售和后勤分配方面、在商业部门、生产企业和材料流通领域均得到了快速普及和推广。自动识别任务和目标是提供相关个人、动物和物品信息。
射频识别是一个自动无线识别和数据获取技术,它基础原理是电磁理论。RFID识别缺点是标签成本相对较高,而且通常不能随意扔掉,而多数条码扫描寿命结束时可扔掉。RFID使用领域:物料跟踪、运载工具和货架识别等非接触数据采集和交换场所.因为RFID标签含有可读写能力,对于需要频繁改变数据内容场所尤为适用。
因为射频识别技术优点,RFID技术已被广泛应用于诸如工业自动化、商业自动化、交通运输控制管理、汽车和火车等交通监控、高速公路自动收费系统、物品监控管理、流水线自动化控制、图书或档案管理系统、门禁系统、金融交易、参处管理、畜牧管理,车辆防盗等等。
一、 基础原理
1.1 RFID技术特点
无线射频识别即RFID(Radio Frequency IDentification)技术,又称电子标签、无线射频识别,是一个非接触自动识别技术,可经过无线电讯号识别特定目标并读写相关数据,而无需识别系统和特定目标之间建立机械或光学接触。它基础由三部分组成:标签(Tag)、阅读器(Reader)和天线(Antenna)
1.RFID电子标签(Tag,或称射频标签):由芯片及内置天线组成。芯片内保留有一定格式电子数据,作为待识别物品标识性信息,是射频识别系统真正数据载体。内置天线用于和射频天线间进行通信。
2.阅读器:读取或读/写电子标签信息设备,关键任务是控制射频模块向标签发射读取信号,并接收标签应答,对标签对象标识信息进行解码,将对象标识信息连带标签上其它相关信息传输到主机以供处理。
3.天线:标签和阅读器之间传输数据发射、接收装置。
RFID射频识别是英文Radio Freqency Identification缩写,它是一个非接触式自动识别技术,它经过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于多种恶劣环境。RFID技术可识别高速运动物体并可同时识别多个识别卡,操作快捷方便。
1.1.1读写器
读写器在RFID系统中饰演着关键角色,读写器关键负责和电子标签双向通信,同时接收来自于主机系统控制指令。读写器频率决定了RFID系统工作频段,其功率决定了射频识别有效距离。读写器依据使用结构和技术不一样能够是读或读/写装置,是RFID系统信息控制和处理中心。读写器通常由射频接口、逻辑控制单元和天线三部分组成。
1、射频接口模块含有以下关键任务:
①产生高频发射能量,激活电子标签并为其提供能量;
②对发射信号进行调制,用于将数据传输给电子标签;
③接收并调制来自电子标签射频信号。
在射频接口中有两个分隔开信号通道,分别用于来往于电子标签和读写器两个方向数据传输。传送往电子标签数据经过发射器分支通道,而来自于电子标签数据则经过接收器分支通道接收。
2、逻辑控制单元也称为读写模块,其含有以下关键任务:
①和应用系统软件进行通信,并实施从应用系统软件发送来指令;
②控制和电子标签通信过程;
⑤信号编码和解码;
④对读写器和标签之间传输数据进行加密和解密;
⑤实施防冲突算法;
⑥对读写器和标签之问身份进行验证。
3、天线是一个能将接收到电磁波转换为电流信号,或将电流信号转换成电磁波装置。在RFD系统中读写器必需要经过天线来发射能量,形成电磁场,经过电磁场来对电子标签进行识别。
1.1.2电子标签
电子标签是指由IC芯片和无线通信天线组成超微型小标签,其内置射频天线用于和读写器进行通信。系统工作时,读写器发出查询(能量)信号,电在标签(无源)收到查询(能量)信号后将其一部分整流为直流电源供电子标签内电路工作,另一部分能量信号被电子标签内保留数据信息调制后反射回读写器。电子标签是射频识别系统真正数据载体。电子标签内部结构图1.4所表示。
其内部各模块功效以下所述:
天线:用来接收由读写器送过来信号,并把所要求数据送回给读写器;
电压调整器:把由标签读写器送过来射频讯号转换成DC电源,并经大电容储存能量,再经稳压电路以提供稳定电源;
调制器:逻辑控制电路所送出数据经调制电路调制后加载到天线送给读写器;
解调器:把载波去除取出真正调制信号;
逻辑控制单元:用来译码读写器所送过来信号,并依其要求回送数据给读写器;
存放单元:包含EEPROM和ROM,做为系统运行及存放识别数据位置。
1.2 RFID系统工作原理
RFID系统基础工作原理是:由读写器经过发射天线发送特定频率射频信号,当电子标签进入发射天线有效工作区域时产生感应电流,从而取得能量被激活,使电子标签将本身编码信息经过内置射频天线发送出去;读写器接收天线接收到从标签(射频卡)发送来调制信号,经天线调整器传送到读写器信号处理模块,经解调和解码后将有效信息送至后台主机系统进行相关处理:主机系统依据逻辑运算判定该卡正当性,识别该标签身份,针对不一样设定做出对应处理和控制,最终发出指令信号控制读写器完成不一样读写操作。
二、 系统分析和建模
2.1系统需求分析
基于RFID技术考勤管理系统使用考勤统计是经过考勤机进行采集,或经过当地计算机进行采集,统计经保留存放到数据库。管理软件应用有其特殊性,职员通常只是负责考勤信息提供(经过刷卡),劳资、财务或管理基层才是真正使用这些考勤信息用户。本系统是人力资源管理系统一个子系统,可将考勤数据传输给薪资管理系统,它也可独立运行。所以,本系统除了要提供基础考勤统计外,还要提供对应职员信息并对许可缺席情况进行统计,方便能够统计出每个职员真正违反考勤纪律次数和情况。通常对于这么和劳资、财务分配亲密相关系统,均应采取部分必需安全方法,以确保只有一定权限范围人员才能登陆系统,所以系统必需采取对应安全方法,以确保许可范围内人员口令安全阎。因为本系统功效比较专一,所以需求分析也比较集中,由此能够得出本系统下列需求:
(1)对职员进行信息管理;
(2)考勤统计获取;
(3)对职员因公或因私等情况登记;
(4)对考勤统计进行处理,统计,形成报表;
(5)对登录口令安全性保护;
(6)对数据库维护;
(7)不一样情况下,多种信息查询。
2.2系统功效特点
以非接触式IC卡射频识别技术、计算机软件等为关键,构建一套新奇考勤系统。在本系统中,非接触式IC卡作为身份识别,实现了考勤管理电子化。因为射频IC卡和考勤机之间利用射频方法迸行数据传输,所以考勤机对IC卡操作能够在瞬间完成,职员在上下班时,只需将个人考勤卡在读写器前一晃,读写器即自动、快速、正确地统计职员卡号和刷卡时间等信息,数据经计算机处理后保留,管理者可随时查询职员出勤情况,统计、汇总考勤报表,系统能正确反应出职员和部门出勤情况,为管理人员提供正确考勤数据,并能生成打印报表。
2.3系统UHL建模
首先对项目进行需求调研,依据项目标业务步骤图和数据步骤图和项目中包含各级操作人员,经过分析,识别出系统中全部用例和角色;接着分析系统中各角色和用例间联络,再画出系统用例图,同时,勾画系统概念层模型,描述概念层类图和活动图。
1、确定系统范围和边界。考勤管理系统用于企事业人事部门日常管理活动。它和薪资系统存在系统边界,薪资系统从该系统得到薪资信息。
2、定义活动者。依据系统职责范围和需求能够确定活动者。考勤管理包含到角色包含实施考勤工作考勤管理人员,参与考勤企业全部职员。
考勤管理人员:管理企业考勤
一般职员:职员刷卡考勤、查询信息
3、定义用例.由考勤管理人员首先制订考勤规则,关键包含考勤项目标管理、奖惩方法制订和奖惩指标量化定义;一般职员经过提出请假、销假和加班申请,并经过管理人员审核,每逢月末,管理人员将考勤机中考勤数据导入到本系统,结合请假、销假和加班审核数据,形成月末考勤数据个人和部门汇总,以此为依据,依据制订奖惩规则,计算出本月职员考勤奖惩金额并提交给薪资管理系统。
三、系统设计
3.1 OURS‐RFID‐RP试验平台系统概述
OURS‐RFID‐RP试验平台是由UHF超高频读写器模块、HF高频读写器模块、LF低频读写器模块、HF高频原理机模块、ACTIVE RFID模块、OMAP3530嵌入式网关组成。
3.1.1系统整体布局结构设计
图 系统整体结构布局图
3.1.2 结构和硬件描述
因为本设计为高频RFID职员考勤管理系统,所以我们再次只介绍HF高频读写器模块。
HF模块介绍
LED灯显示说明:
D1:绿色,电源开启指示灯,在430下完程序后,假如430正常运行,灯亮。
D2:红色,ISO14443A协议指示灯,
D3:黄色,ISO14443B协议指示灯
D4:红色,ISO15693协议指示灯
D5:红色,tag-it指示灯
D6:红色,预留
(1)系统运行简明说明:
①:上电后,430先经过并口访问7970芯片,在没有读到卡时,程序运行在串口读写模式,并每隔0.5s向串口发送一个“D”,直到有写操作为止。
②:当有卡读写时,针对对应卡,程序进入不一样协议中,而且点亮对应LED灯。
(2)API 调用说明
①:上电后,配置完内部寄存器,程序进入串口读写程序,能够进行人机交互。
②:当读到不一样协议卡时,程序退出串口读写程序,进入对应协议子程序中(现在支持14443A协议和15693协议)。读完卡后,退出对应协议子程序,进入串口读写程序。
3.2系统功效模块
在安全性方面,本系统应经过由口令认证功效用户登录模块来确保该登
录人员正当性。在用户登录成功后,完全是对数据库操作。管理软件能够
经过读写器下载数据,对取得统计处理后存放到数据库中。依据前面需求
分析得出此套考勤管理软件应含有登录功效、职员信息管理功效、IC卡读取功
能,职员日常排班管理功效、班次管理功效、出差、请假登记管理功效、考勤
数据管理功效、多种统计报表管理功效、数据库管理功效、信息查询管理功效,
和考勤机操作管理功效等。
3.3数据库设计
从功效需求能够知道存在大量数据库访问操作,所以,数据库设计关键性尤为显著。为建立一个好数据库,需要从以下这些方面进行考虑p6J.数据库冗余度小;函数依靠性明确;数据库表命名表现表内容;表中各属性名称及类型表现该属性含义;建立好索引;选定合适键;设定各字段约束规则;表在降低冗余时应考虑实际使用时方便性。
关键表有:(字段类型略)
职员表(卡号,职员号,姓名,性别,部门代号,..….);
考勤操作人员表(卡号,职员号,姓名,口令,操作权限);
部门表(部门代号,部门名称);
请假类型表(请假类型代码,请假类型,工资发放率);
请假记录表(卡号,部门代号,请假类型代码,开始日期,结束日期);
班种表(班种代号,班种名称);
出差记录表(卡号,部门代号,开始日期,结束日期); ,
加班记录表(卡号,部门代号,开始日期,结束日期)≯
考勤组表(考勤组代号,考勤组名);
原始刷卡数据表(卡号,刷卡日期,刷卡时间,……)等。
卡号为各表主关键字,其它代号为各表主关键字或外关键字。
四、具体设计
4.1 考勤系统功效描述
● 介绍
职员考勤应用系统是关键是针对职员上班出勤情况一个统计。计算机介入使职员出勤情况统计和统计工作变得十分简单。
● 关键功效模块
(1) 用户登录模块
用户身份验证步骤图
否
否
是
开始
登录界面
系统主界面
退出
用户信息是否正确
是否继续登录
图4-1 登录界面步骤图
(2) 信息管理功效
在这个功效模块中,又有职员信息添加、修改、删除,和部门添加和删除。
职员信息添加步骤图
职员信息添加
系统主界面
输入职员基础信息
添加
权限是否正当
检验信息是否正当
添加是否成功
否
是
否
否
图4-2 职员信息添加步骤图
(3) 射频卡分配功效
射频卡分配步骤图
是
是
寻卡
射频卡分配界面
读出卡序列号
输入工号
两次输入工号是否一致
是否寻到正当卡
否
否
将数据写入卡中
分配成功
图4-3 射频卡分配步骤图
(4) 、职员出勤情况统计功效
出勤情况关键由考勤机来统计,然后由系统自动统计和分析,不过也有些人工添加功效,以备特殊情况处理。但以智能考勤为主。
智能考勤步骤图
是
是
寻卡
考勤界面
登记出勤职员信息
生成一条统计信息
是否在考勤时间内
是否寻到正当卡
否
否
退出
图4-4 智能考勤步骤图
(5) 邮件发送功效
邮件发送能够愈加方便使得领导和职员之间相互交流和联络,比如在职员缺勤次数答到一定次数时领导能够立即通知她。
邮件发送步骤图
图4-5 邮件发送步骤图
(6) 、查询功效
查询功效方便用户依据某项条件快速找到自己所需要信息,比如符合条件职员信息,符合条件IC卡信息和符合条件职员考勤信息等。
考勤信息查询步骤图
图4-6 考勤信息查询步骤图
(7) 、数据库管理功效
数据库管理功效能帮助部分不会使用SQL Server 关系型数据库用户方便对数据进行附加、恢复、备份和压缩。
4.2 系统模块设计
l 信息管理模块
信息管理模块包含职员信息维护,部门信息编制,部门信息删除,还有职员信息添加,职员信息删除和职员信息修改。
l 考勤管理模块
考勤管理模块包含人工考勤,以备碰到特殊情况,智能考勤方便用户使用RFID卡进行考勤,这么既节省时间,有不需用人工参与,提升了工作效率,降低了犯错可能。
考勤时间设置是针对考勤系统开启时间,在所设定时间段内,考勤系统正常工作,超出这个时间段,系统就关闭。
信息管理模块
部门编制
部门删除
职员信息修改
职员信息添加
职员信息删除
bmshc.cs
ygtj.cs
ygshc.cs
ygxxxg.cs
bmtj.cs
图4-7 信息管理模块图
人工考勤
智能考勤
时间设置
Kaoqin.cs
Zhinenkq.cs
Kqsj.cs
考勤管理模块
图4-8 考勤管理模块图
l 射频卡管理模块
射频卡是用户关键标识信息载体,它存放唯一标识用户信息工号,这么每一个职员手持一张RFID卡出勤时,由阅读器读出工号信息,然后将信息添加进考勤信息记录表。
射频卡管理模块
射频卡挂失
Shepinkfp
Shepinkjh
Shepinkags
射频卡激活
射频卡分配
图4-9 射频卡管理模块图
l 用户管理模块
在用户管理模块中,管理员能够添加系统用户,领导和职员能够修改密码,也能够在使用中更换权限。
用户管理模块
用户添加
修改密码
用户删除
修改权限
Xiugaiqx.cs
Shanchu.cs
Gaimi.cs
Yonhutj.cs
图4-10 用户管理模块图
l 查询管理模块
在查询管理模块中,全部用户全部能够依据自己要求和条件查询信息,能够按工号、姓名、职员所在部门、职员所属职务等条件查询职员信息。能够依据月份、职员基础信息、出勤次数、缺勤次数、请假次数等查询30天中职员考勤信息。能够依据RFID卡卡序列号信息、职员基础信息等查询职员所持RFID卡基础信息。
考勤信息查询
职员信息查询
射频卡信息查询
Kaoqincx.cs
Shepinkcx.cs
Yuangoncx.cs
查询管理模块
图4-11 查询管理模块图
l 数据库管理模块
数据库管理模块中是部分基础数据库操作,如附加、还原、备份。
数据库管理模块
数据库备份
数据库还原
数据库附加
数据库压缩
Sjkbf.cs
Sjkhy.cs
Sjkfj.cs
Sjkys.cs
图4-12 数据库管理模块图
l 系统管理模块
系统管理模块是对系统框架、布局一个自定义操作,各个用户能够依据自己需求和喜好更换系统布局,这能够提升工作人职员作时候情绪,使工作人员在一个舒心环境下工作。在系统模块中,我还提供了帮助文档,这能使工作人员立即熟悉系统。
系统管理模块
修改密码
重新登录
邮件发送
网上搜索
Gaimi.cs
Youjia.cs
Denglu.cs
图4-13 系统管理模块图
4.3 公共模块设计
l 动态库设计
程序编制通常需经编辑、编译、连接、加载和运行多个步骤。在我们应用中,有部分公共代码是需要反复使用,就把这些代码编译为“库”文件;在连接步骤中,连接器将从库文件取得所需代码,复制到生成可实施文件中。
动态库OUR_MIFARE.dll是用VC6.0++开发,已编译成Release实体,用于WIN98、NT、、XP、环境下。OUR_MIFARE.dll是此系统使用USB接口射频卡读写器配套文件,必需和读写器一起使用。还必需将硬件底层驱动动态库ICUSB.DLL放在和OUR_MIFARE.dll同一个目录下,不然不能使用。为了在使用时能够随时更换USB接口,OUR_MIFARE.dll在调用ICUSB.DLL时采取是动态调用方法。
u 读卡函数piccreadex
读卡函数piccreadex功效是一次性读整个区第0块、第1块、第2块共3块信息,而且返回卡序列号。它原始申明是unsigned char __stdcall piccreadex(unsigned char ctrlword,unsigned char *serial,unsigned char area,unsigned char keyA1B0,unsigned char *picckey,unsigned char *piccdata0_2)。它返回unsigned char值,并将卡本块数据传值到*piccdata指向数组中。当返回值为0时,表示操作成功,读出数据有效;当返回值为8时,表示寻卡错误,根本就没有卡在感应区,*serial无效。
u 写卡函数Piccwriteex
写卡函数Piccwriteex功效是一次性写整个区第0块、第1块、第2块信息。它原始申明是unsigned char __stdcall piccwriteex(unsigned char ctrlword,unsigned char *serial,unsigned char area, unsigned char keyA1B0,unsigned char *picckey,unsigned char *piccdata0_2)。它返回unsigned char值,并将卡本块数据传值到*piccdata指向数组中。当返回值为0时,表示操作成功,写卡数据有效;当返回值为8时,表示寻卡错误,根本就没有卡在感应区,*serial无效。
五.系统实现
5.1 登录模块实现
系统登录关键用来对进入RFID职员考勤应用系统用户进行安全性检验,以预防非法用户进入该系统。在登录时,只有正当用户才能够进入系统,同时系统依据登录用户不一样等级,给不一样操作权限。
5.2 系统主界面实现
l 系统主界面窗体设计
进入系统主界面,图11所表示。里面包含MenuStrip菜单栏,用于显示按模块分组各个功效项;timer控件用于控制系统每隔一段时间检验是否有数据读入;Label标签作为界面说明行文字;StatusStrip状态栏用于显示和用户相关实时信息。
5.3 系统管理模块实现
系统管理模块中包含4各部分内容,分别是:修改密码,邮件发送,网上搜索,重新登录;网上搜索能够登录企业主页面,方便职员愈加好了解企业内部文化。邮件发送能愈加好促进领导和职员沟通。现在将邮件发送功效做一简单介绍。
l 邮件发送实现
邮件发送窗体是用来实现领导和职员交流、沟通功效。当一个职员缺勤次数超出要求次数时,工作人员需要即时给该职员发出一个警告。
l 邮件发送窗体设计
Frmstudent_email.cs为邮件发送窗体,该窗体关键用到控件有TextBox控件,关键作用是供用户输入正当信息;Button控件实施上传附件、删除附件、发送邮件和退出等事件;ComboBox分别用来绑定已登录用户名、职员部门和工号信息;OpenFileDialog控件作用是作为选择附件对话框。
5.4运行截图
总 结
在这次嵌入式课程设计中,我收获了很多。不仅学习了相关知识,还锻炼了自己能力。在此过程中,经过查找大量资料,请教老师,和自己努力,我培养了独立思索能力,在多种其它能力上也全部有了提升。更关键是,我学会了很多学习方法,这对于我未来是很关键,现在掌握这种方法能让我以后少走很多弯路。经过这次课程设计让我们知道了,我们平时所学知识假如不加以实践话等于纸上谈兵。在做课程设计过程中总会出现多种问题,在这种情况下我们全部会努力寻求最好路径处理问题,无形间提升了我们动手,动脑能力,而且同学之间还能相互探讨问题,研究处理方案,促进大家团体意识。现在这种锻炼对我们很关键,在课设中我们不仅巩固了所学知识,还能和老师一起钻研更深知识,开阔了我们眼界,增加了我们见识。依靠这次学到知识,能够使我们少受些挫折。这不仅是对我们鞭策,同时也是我们机遇,我们一定要好好把握这次机会,因为它可能是我们人生转折点,完成这次课设我们人生可能就会有所不一样。
嵌入式课程设计即使结束了,也留下了很多遗憾,因为因为时间紧缺和很多课业繁忙,并没有做到最好,不过,最起码我没有放弃,它是我们骄傲!相信以后我会以愈加主动地态度对待我们学习、对待我们生活。只有我们增强了自己能力,才能使我们在未来立于不败之地。
致 谢
首先要感谢薛建彬老师讲课和指导!感谢全部支持我完成嵌入式程序设计论文老师和同学们!薛老师严谨、细致治学态度,坦诚、热情处世风格,给我留下了深刻印象,我为能成为她学生而感到幸运。她帮我解答疑难问题,给我提供资料,给我提供查阅资料信息,引导我该怎样去思索问题,教会我处理问题方法。同时又激励我自己学习,老师给我不仅是知识,是帮助,更是学习信心和智慧,在这里衷心感谢老师耐心细心和一丝不苟帮助。其次,我还要感谢试验室其它老师,她们在学习环境上严谨办学让我有了一次学习升华过程,了解到很多嵌入式系统方面最新见解、原理和实践。另外,我还要感谢各位兰州理工大学给指导老师,在本文撰写过程中为我提供了很多宝贵学习机会。
参考文件
[1]OURS-DFID-RP试验指导书.北京奥尔斯电子科技..10
[2] 石志国等著. 物联网技术和应用. 北京交通大学出版社, .9
[3] 吴洪贵,孙玉娣等著. 物联网应用系统开发. 东软电子出版社,.11
[4] 游战清、李苏剑.无线射频识别技术(RFID)理论和应用.电子工业出版社,
[5] Klaus Finkenzeller.射频识别(RFID)技术.电子工业出版社.
[6] 北京奥尔斯电子科技.物联网创新试验套件试验指导书.11
[7] 李文仲,段朝玉著.ZigBee/PRO协议栈试验和实践. 北京航空航天大学出版社,.3
附录———源代码
//...........省略部分代码
//指定区号
myareanoID= 8;//指定为第8区
//批定密码模式
authmode = 1;//大于0表示用A密码认证,推荐用A密码认证
//指定密码
//..............省略密码
if (textBox1.Text.Trim() == textBox3.Text.Trim())
{
//指定卡数据
string strStudentNo = string.Empty;
for (int k = 0; k < textBox1.Text.Length; k++)
{
strStudentNo = textBox1.Text.Substring(k, 1);
mypiccdataID[k] = (byte)Convert.ToInt16(strStudentNo);
}
status = piccwriteex(myctrlword, mypiccserial, myareanoID, authmode, mypicckey, mypiccdataID);
//处理返回函数
switch (status)
{
case 0:
//成功写入卡后,要在数据库中登记
//以下省略部分数据库操作代码
break;
case 8:
//没有卡时,即寻不到射频卡时代码
break;
}
}
● 经过触发器更新月考勤信息统计表
当有考勤信息插入考勤信息统计表时,程序需要判定这个月此职员考勤信息是否已经有统计,假如已经存在,就依据出勤属性更新统计信息,假如不存在,则插入一条新统计,这里经过一个触发器来实现,触发器代码以下:
CREATE trigger [trig_monthkeer] on [dbo].[考勤信息记录表]
for insert
as
if exists(select 工号,month(考勤时间) from inserted
where 工号in(select 工号from 月考勤信息记录表)
and month(考勤时间) in(select 月份from 月考勤信息记录表))
begin
declare @attendance char(10)
declare @student varchar(10)
declare @montime tinyint
select @attendance=出勤属性,@student=工号,@montime=month(考勤时间) from inserted
if(@attendance like '按时')
update 月考勤信息记录表set 出勤次数=出勤次数+1
where 工号=@student and 月份=@montime
else if(@attendance like '请假')
update 月考勤信息记录表set 请假次数=请假次数+1
where 工号=@student and 月份=@montime
else
update 月考勤信息记录表set 缺勤次数=缺勤次数+1
where 工号=@student and 月份=@montime
end
else
begin
declare @monthtime tinyint
declare @studentID varchar(10)
declare @attend char(10)
select @attend=出勤属性,@studentID=工号,@monthtime=month(考勤时间) from inserted
if(@attend like '按时')
insert into 月考勤信息记录表(月份,工号,出勤次数,请假次数,缺勤次数)
values(@monthtime,@studentID,'1','0','0')
else if(@attend like '请假')
insert into 月考勤信息记录表(月份,工号,请假次数,出勤次数,缺勤次数)
values(@monthtime,@studentID,'1','0','0')
else
insert into 月考勤信息记录表(月份,工号,缺勤次数,出勤次数,请假次数)
values(@monthtime,@studentID,'1','0','0')
end
展开阅读全文