1、本科毕业论文(设计、创作)题 目: 基于指纹识别校园考勤系统设计 学生姓名: 学号: 所在系院: 信息和通信技术系 专业: 电子信息工程 入课时间: 年 9 月导师姓名: 职称/学位: 讲师/博士 导师所在单位: 完成时间: 年 5 月安徽三联学院教务处 制基于指纹识别校园考勤系统设计摘 要:校园内学生和工作人员众多,考勤方面一直是很多学校一大难题。本文研究内容是让指纹识别技术走进校园考勤管理系统,并经过指纹识别来完成这个目标。对大量企业指认识别考勤系统进行分析,使这个校园考勤系统愈加稳定和安全。指纹识别技术出现很好处理了这个问题。要完成校园考勤系统,需要对指纹识别技术有所认识,要保障考勤系统
2、运作稳定和安全需要从两个方面,分别是硬件和软件。要制订合理有效实用校园考勤方案,需对每一位学生和职员指纹进行采集,并将采集指纹建立一个数据库,方便以后进行身份识别时对比认证。校园用指纹识别进行考勤管理,这个方案能替换以往传统考勤方法,根本杜绝代签到不良现象,对校园考勤有着巨大作用。关键词:校园;考试;指纹Design of campus attendance system based on fingerprint IdentificationAbstract:Many students and staff on campus, attendance has always been a big
3、problem to many schools.The research contents of this paper is to make the fingerprint recognition technology into the campus attendance management system, and to accomplish this goal by fingerprint identification.Analysis, to identify a large number of enterprises to identify attendance system, mak
4、e the school attendance system is more stable and safe.The emergence of fingerprint identification technology is very good solve the problem.To complete the system of check on work attendance in schools, need to recognize the fingerprint identification technology, to ensure the stability of the syst
5、em of check on work attendance and safety need from two aspects, respectively is the hardware and software.To formulate rational and effective practical school attendance, for every student and staff of fingerprint collection, and will build a database collection of fingerprints, convenient for iden
6、tities in the future when compared to certification.Campus with fingerprint attendance management, this scheme can take the place of old-style method of check on work attendance, completely eliminate issuing to the unhealthy phenomenon, has a huge role on school attendance.Keywords: campus; exam; fi
7、ngerprint目 录第一章 绪 论11.1 研制背景11.2 课题研究关键内容21.3 本文关键工作2第二章 指纹识别基础原理32.1 指纹识别系统工作原理32.2 指纹识别系统工作模式5第三章 指纹识别考勤系统设计63.1系统功效需求63.1.1 系统体系结构63.1.2 系统功效模块设计63.2 数据步骤图73.3 系统结构图93.4 系统步骤图10第四章 数据库设计134.1 数据库概述134.2 数据流图134.3 数据需求分析144.4 数据库逻辑结构设计144.5 数据库表建立144.6 系统思绪14第五章 系统实现165.1 开发平台及系统配置165.2 开始界面制作165.
8、3 系统关键功效实现165.3.1 指纹图象采集功效实现165.3.2 指纹比对算法功效实现165.3.3 系统管理功效实现195.3.4 考勤结果分析功效实现22第六章 系统测试246.1 测试目标246.2 用例测试246.3 测试结果25结论26致谢27参考文件28第一章 绪 论1.1 研制背景 因为通讯技能和网络飞速普及发展,现在社会对于人类自己身份识别要求要变更高.以前古板老套法子早已满足不了大家对这首先需求,所以要探索一个新身份识别方法使之更为安全方便。在这么背景下,生物识别技术悄然兴起,并成为一个新身份识别技术。生物识别技术就是一个能够利用人体生物上唯一差异来进行身份认证技术。生
9、物特征拥有独一性,其中分行动和生理特征能够进行识别和测量。生物识别系统将生物中特有性质提取出来并将这些特征转换成唯一代码,把这些代码组成特征样本。这些模板将存放在数据库中,为以后身份识别时,将待验证生物特征和这些模板对比,看是否匹配,假如匹配则接收该生物信息,若不匹配则拒绝。 生物识别技术所含有安全性和方便性是以往古老钥匙,智能卡,密码之类方法不可比拟。因为这种方法是利用生物特有性质,所以对比和以往认证方法更安全和便捷。像钥匙,智能卡,密码之类全部能够进行伪造和假冒,而生物特征则不会,它所含有唯一性和稳定性是不可替换。而且生物识别技术能够和电脑通讯技术和网络结合起来,更方便有效管理和监视整个系
10、统运行,对比以往人脑管理有着更为正确稳定优势。 现在在生物识别这一类高新技术领域中有很多个方法,其中最为大家所关注是利用指纹唯一性来进行识别技术,而且这种技术在现在科技发展情况来看是最为成熟和广泛利用一个生物识别技术。 这些年,中国国外科研人员对指纹识别这项技术做了大量深入研究,在这一领域取得了很好成绩,并在人事考勤方面取得了巨大进展。使指纹识别技术成为很多企业单位内部人事考勤制度最关键组成原因。不可假冒和伪造指纹识别技术令职员对企业考勤管理制度感到公平和合理,这对职员们主动性和企业形象有着很大帮助。现在任然有很多企业用是磁卡密码之类考勤方法,即使有部分作用,但这些方法存在着很多问题,比如磁卡
11、丢失,磨损,借用,忘带等,叫人代打卡现象也不可避免会发生,这些问题发生,令考勤和管理上存在先天性漏洞。 每个人指纹全部含有永远不变和每个人全部不一样两个特征,这些特征让企业人事管理更为有效科学,为企业省去了很多在人事考勤上人力财力。天天只需在指纹识别仪器上轻轻一按,就能完成一次身份识别,为职员提供了大量便捷。1.2 课题研究关键内容 本文研究内容是让指纹识别技术走进校园考勤管理系统,并经过指纹识别来完成这个目标。对大量企业指认识别考勤系统进行分析,使这个校园考勤系统愈加稳定和安全。校园内学生和工作人员众多,考勤方面一直是很多学校一大难题。指纹识别技术出现很好处理了这个问题。要完成校园考勤系统,
12、需要对指纹识别技术有所认识,要保障考勤系统运作稳定和安全需要从两个方面,分别是硬件和软件。 要制订合理有效实用校园考勤方案,需对每一位学生和职员指纹进行采集,并将采集指纹建立一个数据库,方便以后进行身份识别时对比认证。校园用指纹识别进行考勤管理,这个方案能替换以往传统考勤方法,根本杜绝代签到不良现象,对校园考勤有着巨大作用。1.3 本文关键工作 现在在社会上利用两类指纹识别考勤系统分别是嵌入式和电脑应用系统结合。链接电脑应用系统能够建立起巨大指纹数据库,在整个局域网内电脑终端共享数据库内指纹信息,这对整个系统灵活运作有很大优势。嵌入式考勤系统则是不需要介入电脑和其它设备就能能够独立运作完整系统
13、。对比于上述系统其功效被限制比较单一,可完成特定功效。本文研究关键包含以下内容: 第二章介绍了指纹识别技术原理,系统分类。 第三章提出了基于指纹识别考勤系统设计。 第四章叙述了考勤管理系统后台数据库设计。 第五章叙述了考勤管理系统实现。第二章 指纹识别基础原理2.1 指纹识别系统工作原理 通常来讲,校园考勤指纹识别系统算法可分为五个部分,分别是指纹采集图像输入数据库;对图像进行预处理;将处理过图像提取其特征值;对比特征值;对比指纹。图2-1所表示:指纹图像输入预处理特征提取特征比对结果输出图2-1 指纹识别系统框图1)指纹图像输入 现在指纹采集设备可分为光电式、电感式、电容式、光学采集。其中,
14、出现任然被大多数指纹识别采集设备利用是光电式,但所采集指纹质量不是很好。电感式和电容式指纹采集设备对指纹采集质量有所提升,但还是存在部分问题,如采集指纹稳定性和指纹采集头耐磨性。因客观原因而不宜采集指纹还能进行正确和可靠采集,是需要处理关键问题。光学采集头出现很好处理了这个问题。它对以往采集设备进行改善优化,所以其性能和价格是电感式和电容式所不能比拟。 光学采集技术是用光全反射,利用光线对指纹进行采集。光线照到手指上,手指指纹上谷和脊对光线反射量有影响,从而形成指纹图像。当光线经过玻璃射到指纹谷位置是会发生光全反射,当光线射到脊位置是则不会,这么就能将指纹上谷和脊区分开来,从而形成指纹图像。2
15、) 预处理 通常来讲,刚采集到指纹图像会存在一定噪声,影响指纹质量。经过预处理,能够将刚采集到指纹图像转换成线条二值图像,二值图像相对于指纹灰度图像在指纹中心点选择和特征值提取有很大帮助。所以对指纹采集仪器刚采集指纹图像进行初步预处理是整个校园指纹考勤系统系统中不可缺乏一项步骤。进过电脑预处理过指纹二值图像能更正确和快速将指纹特征提取出来。预处理整个过程图2-2所表示:预处理预滤波方向图方向滤波二值化细化图2-2 预处理框图3) 特征提取 指纹特征点分为局部特征和全局特征。指纹细节特征可分为一百五十多个,但有是很罕见,所以出现几率不一样。部分教授认为,只需要十三个细节特征相同,就能确定是同一个
16、手指指纹。但依据情况不一样,所需要对比指纹特征点个数也会不一样。通常指纹识别技术利用中只考虑其中两种特征点对比,分叉点和纹线端点。纹线分叉点则是纹线忽然一分为二位置,而纹端点指是纹线忽然结束位置。这两个特征点经过很多研究发觉时众多特征点中出现几率最多也是最稳点两个特征点,而且这两个特征点对指纹特有性足以描述,只要这两个特征点吻合,这能确定是同一个手指指纹。而且这两个特征点利用现有指纹采集设备很轻易就能够获取。4) 指纹分类 为了降低指纹搜索区域,提升指纹对比速度,将指纹在数据库中进行分类很有必需。指纹分类越多越细,能够大大降低数据库中指纹样品个数,进行指纹识别时所需对比样品个数所花费时间会大大
17、缩小。5) 指纹比对 指纹对比是经过对指纹特征点位置和关系来确定是否为用一个手指指纹。将待确定指纹和数据库中指纹样品进行一一对比,关键看起特征点相识度,纹线方一直确定。因为指纹在采集过程中可能存在主观和客观等原因,使所采集指纹和数据库中指纹有些细小差异,指纹信息也会有所不一样。所以指纹对比过程是一个模糊对比过程。2.2 指纹识别系统工作模式 指纹识别过程可分为两种不一样模式:已知是该人来对比验证是否为该人验证模式和只知道指纹来确定是何人指纹辨识模式。验证模式需要数据库中有待识别指纹信息,并将该指纹信息和指纹者绑定起来,只要待验证指纹者输入指纹就能够和数据库中那枚指纹样品进行对比验证,若匹配,则
18、是同一人,若不匹配则不是。验证模式过程如2-3所表示:指纹库6用户指纹指纹特征值指纹特征值比对用户ID登记图2-3 指纹验证过程 识别模式就是指纹信息没有和指纹者绑定,现场采集过指纹后和指纹库中众多指纹一一对比,若有相同,则匹配,没有相同指纹则不正当。辨识过程图2-4所表示:用户ID比对指纹库指纹特征值用户指纹指纹特征值用户ID6登记图2-4 指纹辨识过程第三章 指纹识别考勤系统设计3.1系统功效需求3.1.1 系统体系结构 本文设计研究校园指纹考勤管理系统是结合指纹采集设备和电脑局域网实现对校园内学生和职员考勤管理。在设计上基础遵照了以下几点:可靠性:可靠性是整个应用系统基础。系统可靠性是经
19、过指纹采集设备和程序软件两方面来实现。综合性:系统基于学生基础信息管理,考勤方案等。和以前传统考勤系统融为一体,学生只需在指纹采集仪器上输入自己指纹就能查询到天,月,学期考勤情况。如出现问题则能够和管理人员提出并修改。优异性:本系统采取是最优异光学采集头作为采集设备,所以只需存入数据库中指纹信息正确,就能在以后每一次考勤过程中确保和该人信息一致。和以往方法对比有很大优势,整个系统优异性不言而喻。3.1.2 系统功效模块设计 基于指纹识别校园考勤系统是全部学生指纹信息从入课时进行采集,并将采集到指纹信息存入到学校指纹数据库中。以后学生在现场进行考勤签到时会和数据库中为指纹自动对比验证,以确定目前
20、按压指纹学生信息。软件功效模块示意图如3-1所表示:指纹数据库指纹识别考勤系统统计结果显示指纹图象采集处理指纹比对算法考勤管理图3-1软件总体功效结构图 学生在现场进行考勤时,在指纹采集设备上按压手指输入指纹是指纹图像采集模块。指纹采集仪器模块将搜集到学生指纹进行预处理并转换成二值图像,提取其指纹特征点。学生输入指纹时间作为考勤需要数据。但采集到指纹质量会影响其和数据库中指纹对比速度,所以指纹采集设备可靠,质量十分关键。 指纹比对算法模块是将提取出指纹和校园指纹数据库中指纹进行识别,对比算法。进而核实学生身份。 管理模块是后台管理人员对学校上下课考勤参数,学生年级,专业考勤情况,特殊考勤情况数
21、据进行统一管理。该模块许可系统管理员进行系统设置。系统设置是学生每次上下课按压指纹有效时间,定义时间段外一段时间内为迟到和早退,超出时间段内任未有指纹信息为旷课。管理人员可依据学校情况来定义上下课时间,早退,迟到旷课等时间段。3.2 数据步骤图 为了处理学生在校园内进行指纹识别考勤数据,并将这些原始数据保留在校园数据库中,方便学生用电脑对自己考勤信息查询和后台工作人员管理,必需设计出数据步骤图。 校园指纹考勤系统开始开启,最初是整个考勤系统初始化,包含之前设置过上下课时间段,各个学生信息等系统模块全部还原成初始值。然后校园内指纹采集仪器运作,若没有学生按压指纹,则采集仪器进入待机状态。学生使用
22、指纹进行登录后,系统将搜集到指纹和校园指纹数据库中指纹进行比对,经过识别后,假如该学生指纹在数据库中有想匹配指纹,则系统显示登录成功,假如没有此指纹信息则语音提醒重新输入指纹。学生对系统显示出自己个人信息进行确定,确定无误后提交此次考勤,并由系统将此次考勤统计。 待全部学生完成考勤登陆后,系统将自动退出,图示3-2:开始系统初始化否指纹采集器是学生输入指纹不存在输出犯错信息比对存在新指纹添加进数据库中显示学生信息学生确定否否输入管理员密码是是统计信息添加信息存在下个学生进行输入指纹不存在退出系统图3-2 指纹识别系统步骤图3.3 系统结构图考勤系统设置图3-3所表示:学生信息浏览正常出勤旷课资
23、料设定考勤制度设置请假资料设定考勤人员设置考勤考勤处理统计查询考勤统计查询图3-3 系统结构图 学生信息浏览:该模块能够浏览学校学生基础信息,能够按班级,姓名,指纹进行查询,按班级,姓名,指纹导出数据。 上课:在设定上课时间之前,到上课时间为止所登陆指纹为正常上课。 下课:在下课时间之前正常登陆指纹作正常下课。 早退:在上课时间段为到下课时间这一时间点范围内进行指纹登陆算作早退处理。 迟到:设定从上课后一段时间内登陆指纹算作迟到。 请假设置:对教导员许可请假学生进行登记,并统计下时间和请假理由。若此段时间没有学生请假信息和指纹登陆情况算作旷课处理。3.4 系统步骤图 启用校园考勤系统后,系统会
24、让学生输入自己指纹信息,假如匹配成功则进入系统,假如匹配失败则返回指纹登陆界面。 系统主界面有五个区域,为后台管理人员提供五个不一样功效: 设置:后台管理人员能够在这个区域内对天天早晨,中午,下午上下课时间进行设置,并将设置好时间保留起来,方便下次使用。 出勤统计:后台管理人员能够在此区域中对正常出勤统计,迟到统计,旷课统计等进行编辑,然后把数据上传到学校数据库中。 统计:后台管理人员在这个区域中能够对每个学生每一天考勤情况进行统计并保留到学校数据库中。 退出:管理人员退出系统。 指纹识别校园考勤系统步骤图如3-4所表示:指纹登陆考勤系统 重新登录,提醒错误成功进入主界面考勤管理软件主界面:设
25、置,出勤统计,统计,重新登录,退出。按下“出勤统计”按钮按下“统计”按钮按下“重新登录”按钮按下“退出”按钮按下“设置”按钮“考勤统计”对话框回到“用户登录”对话框退出该考勤管理系统“考勤修改”对话框“上下课时间设置”对话框对“考勤统计”该页面进行编辑分别对“考勤修改出勤统计”,“请假统计”进行编辑对一天早晨,中午,下午出勤时间进行修改将该页面操作结果保留到数据库当中分别把编辑好数据保留到数据库当中将修改时间统计以*.ini形式保留,下次将调用该文件时间图3-4 系统步骤图第四章 数据库设计4.1 数据库概述 现现在,数据库技术发展飞快,对数据库应用和开发也越来越了解。方今最为受大家喜爱使用数
26、据库管理开发系统是微软SQL server。SQL server提供了很多使用管理和开发工具,使用它们能够方便对数据库精心维护和管理。本文研究校园指纹考勤系统数据库开发和实现就是利用QL server。整个校园考勤系统全部是用SQL语言编程,提升通用性,而且使后台数据库能够采取数种数据库系统,能为学生提供自己喜爱操作系统。 为了预防以后学校学生越来越多,数据库建立也越老越大,所以使用SQL server是明智之选。4.2 数据流图 学生出勤统计来自系统,并保留在数据库中。本文所叙述校园考勤系统所要做就是怎样对待这些数据。校园指纹考勤系统数据流图图示4-1:登陆指纹请假,旷课教导员学生审批统计出
27、勤时间出勤统计上下课请假统计考勤管理员月度学生考勤统计表多种统计信息管理人员图4-1 数据流图 在本校园指纹考勤管理系统中,学生上下课依据所登陆指纹来分辨每个学生身份,校园考勤系统会自动保留学生登陆指纹时间,并统计下出勤数据信息;当学生有请假时必需经过教导员审批,教导员审批经过后,考勤系统后台管理人员将该学生请假信息保留,另外后台管理人员也能够依据学校实际情况来设置上下课时间安排。以上多种信息经过管理员统计导出月度学生考勤统计表。4.3 数据需求分析 依据数据流图,能够列出以下数据项和数据结构:l 出勤统计:各个学生号指纹登记情况和指纹登记时间。l 月度考勤统计:每个学生号当月上课情况,累计迟
28、到次数,旷课次数,请假次数,早退次数。l 请假统计:每个学生号姓名请假时间和天数,请假理由。l 学生信息:学生ID、学生指纹、密码、权限、姓名、班级等l 班级设置:班级编号、名称等4.4 数据库逻辑结构设计 数据库应该存放什么样数据信息是建立数据库时最需考虑到首要目标。为此要考虑到校园指纹考勤管理系统数据库中所存放数据用途和目标,为了以后在考勤过程中能愈加快速正确提取出数据库中有用信息。4.5 数据库表建立 在数据库中存放数据时制作表格方法最为合适,它是每一行每一列全部能作为数据库中存放基础单位。这些基础单位能将全部需要存放数据根据行和列方法井然有序排列组织起来。表格中每一行全部能表示特定统计
29、,每一列全部能代表统计中一个类别。 在本校园指纹考勤系统中需要在数据库中创建表方便保留考勤信息数据。制作表格时最好措施是将数据和成份一次性统一计划好写在表格内。或亦可创建一个纲领,在纲领内划分一个个小表格,向这个小表格内添加数据,待完成后在融合起来。l 班级表:包含班级位置,系别,班级教导员,学生号,号码。l 正常上下课时间表:学生ID,学生信息,上班时间,下课时间,原因。l 学生信息表:学生指纹,姓名,性别,班级,手机号码,专业。l 月度统计表:学生ID,年月,学生信息,上课天数,请假天数,迟到时间,早退时间,旷课时间。4.6 系统思绪 整个校园考勤管理系统可分为学生考勤和后台管理两类。因为
30、用户签到和和管理在功效上是相对独立,用户在使用时通常不会一起使用。所以能够将这两个模块分为两个不一样区域,在登陆界面输入指纹时决定进入哪个模块。这么就能够轻松进行考勤者和管理者工作。第五章 系统实现5.1 开发平台及系统配置软件:Windows xp sp2、VC+6.0硬件:PC计算机 指纹识别器:中控科技指纹采集器5.2 开始界面制作 用户在此界面进入校园考勤管理系统需要使用自己指纹进行登陆。系统匹配成功后会出现校园考勤系统组要界面,包含“设置”,“出勤统计”,“统计”,“重新登录”,“退出”五个功效组成。5.3 系统关键功效实现5.3.1 指纹图象采集功效实现指纹考勤系统在使用时需要注意
31、以下几点:l 要随时保持光电指纹采集头洁净,若有汗渍,油污等不洁净东西要立即清理。擦拭时不可用较为硬纸张和布,应该用柔软不会伤害采集头镜头纸擦拭。避免有意旋转挤压和用力按压,并注意不要使指甲划到镜头表面。l 在按压手指进行登录时,应注意用质量好手指进行识别。质量好指纹表面无大面积伤痕、无大面积褪皮、纹线清楚、褶皱少等。手指中比很好是食指,拇指和中指,登录起来也比较方便。l 按压指纹时,不可过分用力,这么会损坏采集头。也不可长时间按压。轻轻用力,让手指指纹尽可能多接触指纹采集头,这么采集出来指纹质量才会好,能愈加快和数据库中指纹对比和识别。5.3.2 指纹比对算法功效实现 因为电脑只能分辨数字图
32、像,所以指纹对比算法在本文研究校园指纹考勤管理系统中很关键。所采集到指纹质量会直接影响到分辨正确性和系统反应速度,这么才能愈加好提升考勤效率。 指纹对比工作需要学生先将指纹存放在校园指纹数据库中。而数据库建立,需要对学生同一个手指指纹采集四个左右样本,再对这些样本进行处理,提取出指纹中特征点,这些特征点之间相互关系和数据库中图形进行匹配,得出最终分辨结果。校园考勤系统指纹比对算法有两个关键影响参数,关键有误识率和拒真率。图示5-2:指纹特征值用户指纹指纹特征值指纹库比对用户ID图5-2 指纹比对算法过程图 因为电脑处理识别指纹过程中存在一定误识率,所以指纹匹配过程也不能确保是一定正确。指纹比对
33、代码实现:BOOL CZKFPEngX:VerFinger(VARIANT* regTemplate, const VARIANT& verTemplate, BOOL ADoLearning, BOOL* ARegFeatureChanged)BOOL result;static BYTE parms =VTS_PVARIANT VTS_VARIANT VTS_BOOL VTS_PBOOL;InvokeHelper(0x8, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,regTemplate, &verTemplate, ADoLearni
34、ng, ARegFeatureChanged);return result;void CDemoDlg:OnOnCaptureZkfpengx2(BOOL ActionResult, const VARIANT FAR& ATemplate) long fi; long Score, ProcessNum; BOOL RegChanged; char buffer80; SetDlgItemText(IDC_EDHint, 取得指纹特征模板); if (FMatchType = 1) if (m_zkfp.VerFinger(&FRegTemplate, ATemplate, FALSE, &
35、RegChanged) MessageBox(指纹比对成功!); else MessageBox(指纹比对失败!); else if (FMatchType = 2) /1:NScore = 8;fi = m_zkfp.IdentificationInFPCacheDB(fpcHandle, ATemplate, &Score, &ProcessNum); if (fi = -1) MessageBox(指纹比对失败!);else sprintf(buffer, 指纹比对成功!Name = %s Score = %d Processed Number = %d, FFingerNamesfi,
36、 Score, ProcessNum); MessageBox(buffer); 5.3.3 系统管理功效实现 学生在输入指纹得到认可后就能够登录到校园考勤管理系统。“设置”实现代码以下:void CXieyuyingDBDlg:OnBtnConfig() CWorkplanDlg dlg;dlg.DoModal();图5-3中“出勤统计”代码实现以下:void CXieyuyingDBDlg:OnBtnRecord() if(!m_pAttDlg) / 指针为空,创建对话框 m_pAttDlg=new CAttDlg();m_pAttDlg-Create(IDD_DLG_XieyuyingD
37、B, this);m_pAttDlg-ShowWindow(SW_SHOW);else / 对话框已创建m_pAttDlg-ShowWindow(SW_SHOW); / 显示窗口 后台管理人员能够对上下课时间进行设置修改。上下课时间设置依据学校具体实际情况来确定。“修改”实现代码以下:void CWorkplanDlg:OnWorkplanModify() CString strFileName=.workplan.ini; / INI文件名UpdateData(); / 更新数据WritePrivateProfileString(WorkPlan, Time1,m_Time1.Format(
38、%H:%M:%S), strFileName);WritePrivateProfileString(WorkPlan, Time2,m_Time2.Format(%H:%M:%S), strFileName);WritePrivateProfileString(WorkPlan, Time3,m_Time3.Format(%H:%M:%S), strFileName);WritePrivateProfileString(WorkPlan, Time4,m_Time4.Format(%H:%M:%S), strFileName);WritePrivateProfileString(WorkPla
39、n, 书名,m_wenben, strFileName);“按条件检索”实现代码:void CPage1:OnBtnSeekio() CXieyuyingDBRS rs(&db); / 结构出勤统计表CAttDlg *pDlg; / 指向包含本对象CAttDlg指针CString strFilter; / 用于保留过滤字符串CString strSTime,strETime; / 起始,结束时间pDlg=(CAttDlg*)GetParent()-GetParent(); / 得到指针pDlg-UpdateData(); / 更新数据strSTime=pDlg-m_StartTime.Form
40、at(%Y-%m-%d);strETime=pDlg-m_EndTime.Format(%Y-%m-%d);if(pDlg-m_bSeekbyperson) / 判定是否依据学生号检索strFilter=PERSON= + pDlg-m_strPersonID + ; / 添加过滤条件if(pDlg-m_bSeekbytime) / 判定是否有时间范围 if(strFilter.GetLength()0) / 判定是否已经有过滤条件strFilter += and ; /假如是,需要添加and连接符strFilter += IO_TIME + strSTime + ; / 添加开始时间过滤st
41、rFilter += and IO_TIME0) / 判定是否有过滤条件rs.m_strFilter=strFilter; / 设置FilterUpdateList(rs); “添加”实现代码以下:void CPage2:OnBtnOvertimeAdd() int counter; / 用于保留计数CCounterRS rs_counter(&db); / 结构计数器统计表UpdateData(); / 更新数据if(m_strPersonName.IsEmpty() return; / 判定学生号是否正确rs_counter.m_strFilter = ID=O; / 设置过滤器,提取计数
42、值rs_counter.Open(); / 打开计数器统计表counter=rs_counter.m_COUNTER_VALUE; / 提取计数值counter+; / 计数值加1rs_counter.Edit(); / 编辑计数器rs_counter.m_COUNTER_VALUE=counter; / 保留目前计数rs_counter.Update(); / 提交修改rs_counter.Close(); / 关闭计数器统计表COvertimeRS rs_overtime(&db); / 结构统计表rs_overtime.Open(); / 打开表rs_overtime.AddNew();
43、 / 新增一项统计rs_overtime.m_ID=counter;rs_overtime.m_PERSON=m_strPersonID;rs_overtime.m_WORK_HOURS=m_nHour;rs_overtime.m_WORK_DATE=m_Date;rs_overtime.Update(); / 更新数据库rs_overtime.Close(); / 关闭统计表UpdateList(rs_overtime); / 更新列表框图5-7中“保留”实现代码以下:void CPage2:OnButton1() CString strFileName=.workplan.ini; / INI文件名UpdateData(); / 更新数据/CString m_cList;CString str1,str2,str3,str4;str1 = m_cList.GetItemText(0, 0);WritePrivateProfileString(WorkPlan, 书名,str