版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
RFID课程设计论文题目:基于RFID技术的课堂考勤系统设计学院:计算机与通信学院班级:物联网〔1〕班姓名:李嘉诚学号:11280110指导老师:薛建彬目录摘要3引言3RFID系统31.1RFID技术的特点31.2RFID系统的组成和工作原理31.3RFID系统的应用现状4二.系统案例描述52.1RFID学生考勤管理系统的应用优势52.2高频RFID的应用特性及应用领域5三.需求分析63.1试验箱各模块的介绍73.2系统整体结构的设计7四.系统开发环境与运行环境84.1开发环境84.2运行环境84.3相关技术8五.课堂考勤系统设计95.1考勤系统总设计流程95.2系统结构总图95.3学生身份验证流程图10六.阅读器116.1MC9S08AW60116.2RFID芯片126.3液晶显示与按键136.4外部通讯136.5学生卡14七.软件局部157.1RFID通讯协议15八.总结18参考文献19摘要:本文研究和设计了一种基于射频识别〔RFID〕技术的课堂考勤系统。此系统是利用RFID技术,实现对到课堂上课人员的简单快速地自动签到和离开课堂的记录,保存相关的数据信息供教职人员检阅,从而免去平时点名占用的课堂时间。下面简单介绍了课堂考勤系统的根本功能和组成,然后对系统各重要组成局部进行了详细的分析。关键词:射频识别,自动点到,电子标签,课堂考勤引言如今的大学校园里,学生翘课、迟到、早退的现象已经屡见不鲜。考虑到每天每位老师都要进行对学生的考勤管理,尤其在大学课堂上,上课人数众多,点名考勤要占用很多时间,学生的人数众多单靠少数人员的监督很难做到对学生的实时管理,管理难度比拟大。为了解决学校课堂考勤管理难的问题而设计了一种智能的课堂考勤系统。本系统采用了RFID技术,旨在于对学生进行考勤,不仅提高了管理效率,更增加了学生的出勤率。一.RFID系统1.1RFID技术的特点RFID是RadioFrequencyIdentification的缩写,即射频识别,俗称电子标签。它是用无线射频方式进行非接触双向通信,以到达识别目的并交换数据的一项新技术。它主要与当今数字化商务相适应,可以实现自动识别和远程监控及管理。其通信距离范围可从几厘米到几十米,而且依据读写方式不同,可以输入几千字节的数字信息,具有极高的保密性]。FRID技术的环境适应性强,可全天候、无接触地完成自动识别、跟踪和管理功能,且穿透能力和抗干扰能力强。RFID技术可识别高速运动物体,并可同时识别多个标签,操作快捷方便。因此,RFID技术已在世界各地得到广泛应用,如工业自动化、商业自动化、交通运输控制管理等众多领域。1.2RFID系统的组成和工作原理一个典型的RFID系统由阅读器、应答器〔RFID卡〕和中央管理控制软件组成。阅读器是产生射频信号及高频能量来激活RFID卡片工作,并与卡片进行数据交换的设备。应答器〔RFID卡〕的核心是含有一定存储容量的芯片,用于存储被识别物体的信息,它在接收并调制反射高频信号时到达与阅读器相互识别和通信的目的。中央管理控制软件主要是收集阅读器的信息,根据具体应用进行相关的数据处理。RFID系统分为有源和无源两类。有源RFID卡由电池提供能量,而无源RFID卡不用电池,由接收到的阅读器发射的高频信号转换成直流来提供工作能量。无源RFID卡的工作原理如下:当处于“工作〞状态,即进入阅读器的辐射能量场,卡片上的天线接收到射频信号,然后由能量处理电路中相关的整流器件将射频检波、整流转化为直流电压,为RFID卡上的芯片提供工作能量。芯片内部的调制器以一定的调制方式〔幅移键控〕,将芯片内部的信息进行调制,然后通过天线发射出去。阅读器的接收天线接收并识别出调制信息后,按约定的解调方式进行解调,然后把解调的信息通过相关的接口(RS2232)传送到主机的中央管理软件进行数据处理。1.3RFID系统的应用现状RFID作为一种自动无线识别和数据获取技术,已经使用了多年,应用领域越来越多。按照工作频率的不同,RFID标签可以分为低频(LF)、高频(HF)、超高频(UHF)和微波等不同种类。工作频率范围为30kHz~300kHz低频段射频标签,其阅读距离一般小于1米。其典型应用有:动物识别、工具识别、电子闭锁防盗等。中高频段射频标签的工作频率一般为3MHz~30MHz。典型工作频率为13.56MHz。其阅读距离一般情况下也小于1米。由于可方便地做成卡状,中频标签广泛应用于电子车票、电子身份证、电子闭锁防盗、小区物业管理、大厦门禁系统等。微波射频标签,其典型工作频率有433.92MHz、862(902)MHz~928MHz、2.45GHz、5.8GHz。相应的射频识别系统阅读距离一般为4m~6m,最大可达10m以上。超高频标签主要用于铁路车辆自动识别、集装箱识别,还可用于公路车辆识别与自动收费系统中。在实际应用中,比拟常用的是13.56MHz、860MHz~960MHz、2.45GHz等频段。我国在125KHz、13.56MHz等LF和HF频段RFID标签芯片设计方面的技术比拟成熟,HF频段方面的设计技术接近国际先进水平,已经自主开发出符合ISO14443TypeA、TypeB和ISO15693标准的RFID芯片,并成功地应用于交通一卡通和第二代身份证等工程中。二.系统案例描述2.1RFID学生考勤管理系统的应用优势电子标签(RFID)具有一个双重角色的作用:一方面是身份识别,用来对物品进行跟踪和清点;另一方面用于物品的平安保护。也就是说,RFID同时具备了身份识别和防盗的功能。RFID的这种特点大大地提高了资料处理能力,通过一个简单的单一操作就可快速、准确地完成资料流通过程。〔1〕简化考勤流程,提高考勤效率现有的考勤系统仍需要学生把自己随身携带的卡靠近阅读器来记录学生的考勤信息,这样的操作流程较为繁琐,考勤效率不高。同时,卡内的芯片易收到破坏,使考勤的效率可以说是大大降低。基于RFID的智能学生考勤系统可以防止这种问题的发生,学生只要经过一个特定的地方就可以收到考勤信息,无需接近阅读器,大大提高了考勤的速度和效率,使考勤工作变得轻松而简单。〔2〕提高考勤的正确率传统的考勤往往显得拥挤或者忙碌,可能一下赢来大批学生进行考勤,有时候几张卡放到一起进行读操作,可能出现漏读现象,这就造成有些人的考勤信息不被记录,从而使考勤工作变得不准确。而RFID的出现正好解决了这一问题,她基于无线射频识别技术,可以远距离的进行读卡操作,再也不会出现误读或漏读的操作,使考勤的正确率提高,轻松实现学生的考勤工作。2.2高频RFID的应用特性及应用领域〔1〕高频RFID的应用特性工作频率为13.56MHz,该频率的波长大概为22米。除了金属材料外,该频率的波长可以穿过大多数的材料,但是往往会降低读取距离。识别卡〔感应器〕需要离开金属一段距离。该频段在全球都得到认可并没有特殊的限制。该系统具有防冲撞特性,可以同时读取多个识别卡。可以把某些数据信息写入识别卡中。数据传输速率比低频要快且价格不是很贵。〔2〕高频RFID的应用领域◎瓦斯钢瓶的管理应用◎预收费系统◎酒店门锁的管理和应用◎大型会议人员通道系统◎固定资产的管理系统◎医药物流系统的管理和应用◎智能货架的管理三.需求分析〔1〕信息源分析根据学生考勤管理系统的需求,此系统信息来源主要有学生信息、RFID射频卡信息和考勤记录信息,其中RFID射频卡信息包括射频卡分配信息、射频卡挂失信息、射频卡激活信息。考勤记录信息又包括射频卡考勤信息和人工考勤信息。〔2〕系统用户分析本系统的用户可分为三个方面:管理员、领导和学生。其中管理员可使用的操作是信息管理、考勤时间设置、查询管理和数据库管理中的操作,当然管理员最主要的操作是用户管理,即添加系统用户。领导完成学生出勤的考察,他们有权利对学生进行人工考勤登记和射频卡考勤登记,当然也有查询信息的权利、修改用户密码等。学生使用此系统仅仅只有查询和修改密码的功能,学生不能对考勤管理和信息管理进行操作。每一种权限的系统用户其操作都受一定的限制,这样可以保护信息的平安性。〔3〕信息完整性及平安性分析对于此系统信息的平安性考虑,为了防止系统权利的外泄和信息被非法篡改,每一种用户都以自己的用户名和密码加正确的权限才能登录系统使用。为防止系统用户在查询是更改系统信息,为此我在查询模块以视图的方式为用户提供可查询信息。领导与管理员之间信息是双向互动的.管理员不仅是信息系统的用户,同时也是领导的信息维护的人员,也是局部系统的维护者,但是管理员没有考勤管理的使用权限。领导有考勤管理的使用权限,但是他不能将自己等同的权利传播,他仅仅只可以添加学生用户,对局部系统进行维护。对系统的平安主要采取以下两方面的措施:1.对各系统用户规定相应的权限,仅能操作其权限内的的信息;2.在管理员层设立独立转存机制,设立冗余数据库,以备核对.该冗余数据库可同时作为系统恢复的根底数据库使用。关于信息的完整性,首先要满足关系的实体完整性和参照完整性要求,同时根据实际需要定义一些特殊的约束条件,即用户定义的完整性。这些要求共同保证了设备信息的完整性。3.1试验箱各模块的介绍3.2系统整体结构的设计四.系统开发环境与运行环境4.1开发环境Intel(R)Pentium(R)DualCPU,0.99GB内存,120G硬盘Microsoft®Windows™XPProfessionalMicrosoft®VisualStudio2023(C#)Microsoft®DeveloperNetworkforVisualStudio.NET2023MicrosoftSQLServer20054.2运行环境Intel®Pentium®2及以上处理器,32M以上内存,4G以上硬盘Microsoft®Windows™9X/NT操作系统1280*800的屏幕分辨率确保机器上安装有Microsoft.NETFrameworkSDKv2.0或者以上版本4.3相关技术#SQLServer2005数据库SQLServer是一个大型的关系型数据库管理系统,他最初是由MicrosoftSybase和Ashton-Tate三家公司共同开发的,SQLServer2005共有4个版本,分别是个人版,标准版,企业版和开发版,支持关系数据库的结构化查询语言SQL,它提供了丰富的图形化管理工具,简化了系统管理与操作,具有动态自动管理和优化功能。它支持大型Web站点和企业数据吃力系统的数据存储要求,具有Web出版工具,支持XML、HTTP,并具有数据挖掘和分析效劳的应用功能,可伸缩性和可用性强。它支持企业级数据库,容许大量用户同时访问,容许用户同时引用多处数据源,支持分布式查询,支持数据仓库。它具有丰富的编程接口,便于开发,支持ODBC、ADO数据库对象、OLE数据源,支持N层客户机/效劳器系统,在客户机/效劳器结构中SQLServer2005扮演着后端数据库的角色。SQLServer2005数据库特点〔1〕Internet集成〔2〕可伸缩性和可用性〔3〕企业级数据库功能〔4〕易于安装、部署和使用五.课堂考勤系统设计5.1考勤系统总设计流程本系统主要是能够做到让佩戴含有RFID芯片学生卡的学生在通过教室大门时无需接触打卡机即可自动感应考勤,并能在有多人同时通过教学楼大门时做到实现考勤而不需排队,同时控制阅读器把接收到的这些信息上传到电脑终端进行处理,会准确记录学生的来往时间记录等信息。系统总框图如下图。课堂考勤系统框图5.2系统结构总图基于RFID学生基于RFID学生考勤系统登录界面系统主界面信息管理模块考勤管理模块用户管理模块射频卡管理模块查询管理模块数据库管理模块退出系统管理模块5.3学生身份验证流程图否否否是开始登录界面系统主界面退出学生信息是否正确是否继续登录六.阅读器阅读器的主要功能是接收学生卡信息并上传给效劳器,使效劳器收到信息以便在设备终端系统进行统计。阅读器的框架图如下图:3.1阅读器阅读器的主要功能是接收学生卡信息并上传给效劳器,使效劳器收到信息以便在设备终端系统进行统计阅读器的框架图如下列图所示。阅读器框图6.1MC9S08AW60阅读器的硬件系统以MCU为核心,采用的MC9S08AW60芯片,该芯片是低本钱、高性能的8位微处理器单元〔MCU〕HCS08家族中的成员,使用增强型HCS08核。它具有64/48/44引脚的四方扁平封装〔QFP〕。MC9S08AW60的应用特点非常丰富。它采用8位HCS08中央处理单元〔CPU〕。CPU主频40MHz,内部总线频率20MHZ,具有HC08指令子集,增加了BGND指令,接口采用单线后台调试模式,允许单一的断点设置在线调试,具有片内实时功能,支持多达32个中断/复位源。该芯片还具有高达60KB的片内在线可编程FLASH存储器,带有块保护和平安选项,并有高达2KB的片内RAM。时钟源选项包括晶体,谐振器,外部时钟,或内部产生的时钟与精密NVM切边。系统保护模式可以采用可选的计算机正常操作〔COP〕复位、低电压检测与复位或中断、非法操作码检测与复位及非法地址检测与复位〔一些设备不具有非法地址〕等。外部设备有多达16个通道的ADC模块,具有10位AD转换器与自动比拟功能;两个串行通信接口模块与可选的13位中断;串行外设接口模块;运作高达100kbps的最高总线负载的集成电路互连总线模块;1个2通道和1个6通道的16位定时器/脉冲宽度调制器〔TPM〕模块;高达8引脚的键盘中断模块。输入输出有高达54个通用I/O管脚,还有主复位引脚和上电复位及内部上拉复位管脚等。采用Wait另加两个STOPS的省电模式。6.2RFID芯片RFID芯片采用CY-14443A系列射频读写模块制作,该模块是采用基于ISO14443标准的非接触卡读卡机专用芯片,采用0.6微米CMOSEEPROM工艺,支持ISO14443typeA协议,支持MIFARE标准的加密算法。芯片内部高度集成了模拟调制解调电路,只需最少量的外围电路就可以工作,支持UART接口(-C),I2C接口(-U),或者SPI接口(-P),数字电路具有TTL、CMOS两种电压工作模式。特别适用于ISO14443标准下水电表、自动售货机、门禁、机等计费系统或身份识别系统的读卡器的应用。CY-14443A系列支持mifareOneS50,S70,UltraLight&mifarePro,FM11RF08等兼容卡片。可以设定自动寻卡,默认情况下为自动寻卡。CY-14443A系列全部有板载内置天线,可以再接外接天线。其中内置天线的优点是提高集成度,可读取到达6cm以内的卡,根本不需再外接大天线就可以满足大局部的设计需要,并且不需要更换电路就可以再连接外部天线,提高了系统的可重用性,大大降低本钱,另外,内置天线的读头可以作为有源天线使用。该模块还增加了4kBitsEEPROM,EEPROM字节地址从0x00到0x1FF,可以读取PCD的PN,SN。其功能框图如下图。CY-14443A系列射频读写模块功能框图单片机与该射频模块使用SC2接口进行通讯,通讯接口简便,如下列图所示:CY-14443A系列射频读写模块串口连接模式6.3液晶显示与按键液晶显示屏与按键都与单片机的I/O相连,作为数据读取之后的显示模块和按键操作模块。该局部的连接简单。6.4外部通讯外部通讯采用MAX485接口芯片。MAX485接口芯片是Maxim公司的一种RS-485芯片,采用单一电源+5V工作,额定电流为300uA,采用半双工通讯方式。它完成将TTL电平转换为RS-485电平的功能。其引脚结构图如图7所示。从图中可以看出,MAX485芯片的引脚非常简单,内部含有一个驱动器和接收器。RO和DI端分别为接收器的输出和驱动器的输入端,与单片机连接时只需分别与单片机的RXD和TXD相连即可;/RE和DE端分别为接收和发送的使能端,当/RE为逻辑0时,器件处于接收状态;当DE为逻辑1时,器件处于发送状态,因为MAX485工作在半双工状态,所以只需用单片机的一个管脚控制这两个引脚即可;A端和B端分别为接收和发送的差分信号端,当A引脚的电平高于B时,代表发送的数据为1;反之为0。在与单片机连接时接线非常简单。只需要一个信号控制MAX485的接收和发送即可。同时将A和B端之间加匹配电阻,一般可选100Ω的电阻。单片机与外部主机通过RS485接口芯片连接图如下图。单片机与外部通讯连接图6.5学生卡学生卡采用无源RFID标签,由一个电子数据处理、存储设备〔通常是单个微小芯片〕和实现天线功能的大面积环绕线圈组成。学生卡主要是在进入阅读器的有效区域内发送信息给阅读器,使得阅读器可以读取到通过人员的卡里的信息。每张学生卡里都存储着每位学生的学号、专业、班级本学期课程等信息。其结构图如下图。学生卡示意图七.软件局部系统的中央管理控制软件是课堂考勤系统的中心,以控制阅读器和RFID卡的工作状态,以及进行学生出入教室数据统计处理等。主要特点是:易于操作控制;通过串口通信协议,实现对阅读器的控制与数据传送;学生信息的录入简单方便,维护性和保密性好;快速统计处理数据;有完善的资料查询功能等。系统软件功能模块主要包括:用户登录模块、实时报到和退堂显示模块、阅读器控制模块、数据库管理模块、数据统计处理模块。如下列图所示:软件系统显示模块图7.1RFID通讯协议通讯波特率出厂默认为19200,1位起始位,8位数据位,1位停止位。UART工作在半双工方式,即模块接受指令后才会做出应答。其命令格式为:前导头+通讯长度+命令字+数据域+校验码。其中,前导头为0xAA0xBB两个字节,假设数据域中也包含0xAA那么紧随其后为数据0,但是长度字不增加。通讯长度是指明去掉前导头之外的通讯帧所有字节数(含通讯长度字节本身)。命令字是各种用户可用命令。校验码为去掉前导头和校验码字节之外,所有通讯帧所含字节的异或值。CPU发送命令帧之后,需要等待读取返回值,该返回值的格式如下:前导头+通讯长度+上次所发送的命令字+数据域+校验码。下面是基于mega12816AU的485通信中断接收的程序,调试通过,晶振为外部16MHZ,MAX485的DE和RE短接连PC0口,程序如下:#defineSEND_485PORTC|=0x01#defineREAD_485PORTC&=0xfevoidUsart1_init(void)//16MHZ频率,设置波特率9.6K,8位数据位,无校验,接收发送使能,1位停止位。{UBRR1H=0;UBRR1L=103;UCSR1B=(1<<RXCIE1)|(1<<RXEN1)|(1<<TXEN1);//发送接收使能,使用中断方式,UCSR1C=(1<<UCSZ10)|(1<<UCSZ11);//0x068位数据,1位停止位,无校验}voidUsart1_transmit(unsignedcharc)//查询方式发送接收字符函数。{SEND_485;DelayBus();DelayBus();DelayBus();while(!(UCSR1A&(1<<UDRE1)));//等待发送缓冲区为空。UDR1=c;while(!(UCSR1A&(1<<TXC1)));//UDCR0=c;UCSR1A|=_BV(TXC1);//将发送结束标志位清零。//SET_BIT(UCSR1A,);READ_485;direction++;}SIGNAL(SIG_UART1_RECV)//serialport1{if(UCSR1A&(1<<RXC1)){rec1buff=UDR1;rec1_flag=1;}}八.总结课堂考勤系统是应用RFID技术的特点实现学员课堂报到和离开记录的自动化和智能化管理,现在已在大学校园里得到应用。本文对整个系统进行了概述,并对功能强大、结构复杂、技术要求高的阅读器的进行了较为详细的理论分析与设计。本系统还可在校园内进行多处安装,老师和辅导员只要登录电脑终端系统就可以实现对学生在校园内分布情况的实时监测,大大提高校方对学生的管理效率。此外,该系统也可以作为一种智能的教师会议报到系统,同时提高会议管理的工作效率。相信随着RFID技术的迅速开展,该套系统也会得到不断完善和广泛应用。最后衷心的感谢薛建彬老师的认真指导,让我对RFID技术在实际生活中的应用更加熟悉和明了,同时也感谢同学们的帮助,让我对RFID技术理解的更加深刻与透彻。参考文献[1]周晓光,王晓华.射频识别〔RFID〕技术原理与应用实例[M].北京:人民邮电出版社,2006.12[2]沈宇超,沈树群.射频识别技术及其开展现状.电子技术应用,1999,25[3]程晓丽,等.基于RFID的会议报到系统的设计[J].计算机与自动化.第7期第31卷[4]刘篙岩,毛志刚.智能卡的研究与开展.徽处理机,2000.2:1—5.[5]陈子侠.RFID技术的应用与现代物流.商业研究,2003(6)[6]游站清,李苏剑.无线射频识别技术(RFID)理论与应用.北京:电子工业出版社,致谢本文的完成特别要感谢薛老师,马老师,从论文的结构到写作的细节,无不渗透着老师们的心血。老们师严谨、细致的治学态度,坦诚、热情的处世风格,给我留下了深刻的印象,我为能成为他的学生而感到幸运。其次,我还要感谢实验室的其他老师,他们在学习环境上的严格要求让我有了一次学习上升华的过程,了解到很多计算机和RFID方面最新的观点、原理和实践。另外,我还要感谢各位与我一起参加设计的同学,大家都认认真真的做自己的设计,互相帮助,遇到不懂的问题大家都积极讨论,每个人都提出自己最理想的方案。在本文的写作过程中,我借鉴了大量著作文献,并引用了局部作者的局部资料,在此向所有文献的作者致谢!附录附录〔1〕//AdoMdb.h:interfacefortheAccessDBMgrclass.////////////////////////////////////////////////////////////////////////#if!defined(AFX_ADOMDB_H__F64E7E9D_4790_467F_8315_B030DD0E615B__INCLUDED_)#defineAFX_ADOMDB_H__F64E7E9D_4790_467F_8315_B030DD0E615B__INCLUDED_#if_MSC_VER>1000#pragmaonce#endif//_MSC_VER>1000//ADO#pragmawarning(disable:4146)#import"c:\ProgramFiles\CommonFiles\system\ado\msadox.dll"#import"c:\programfiles\commonfiles\system\ado\msado15.dll"no_namespacerename("EOF","adoEOF")#pragmawarning(default:4146)//数据提供者类型枚举enumenmProvideType{ ACCESS_97=1, //ACCESS97 ACCESS_2000, //ACCESS2000 SQLSERVER, //SQLServer};//认证方式枚举enumenmAUTH_TYPE{ AUTH_SQLSERVER=1, //SQL认证 AUTH_WINDOWS, //WINDOWS认证};//字段类型enumenumFIELD_TYPE{//整数 FT_BIGINT, //从-2^63(-9223372036854775808)到2^63-1(9223372036854775807)的整型数据(所有数字) FT_INT, //从-2^31(-2,147,483,648)到2^31-1(2,147,483,647)的整型数据(所有数字) FT_SMALLINT, //从-2^15(-32,768)到2^15-1(32,767)的整数数据 FT_TINYINT, //从0到255的整数数据//bit FT_BIT, //1或0的整数数据//decimal和numeric FT_DECIMAL, //从-10^38+1到10^38–的固定精度和小数位的数字数据 FT_NUMERIC, //功能上等同于decimal//money和smallmoney FT_MONEY, //货币数据值介于-2^63(-922,337,203,685,477.5808)与2^63-1(+922,337,203,685,477.5807)之间,精确到货币单位的千分之十 FT_SMALLMONEY, //货币数据值介于-214,748.3648与+214,748.3647之间,精确到货币单位的千分之十//近似数字 FT_FLOAT, //从-1.79E+308到1.79E+308的浮点精度数字 FT_REAL, //从-3.40E+38到3.40E+38的浮点精度数字//datetime和smalldatetime FT_DATATIME, //从1753年1月1日到9999年12月3 FT_SMALLDATATIME, //从1900年1月1日到//字符串 FT_CHAR, //固定长度的非Unicode字符数据,最大长度为8,000个字符 FT_VARCHAR, //可变长度的非Unicode数据,最长为8,000个字符 FT_TEXT, //可变长度的非Unicode数据,最大长度为2^31-1(2,147,483,647)个字符//Unicode字符串 FT_NCHAR, //固定长度的Unicode数据,最大长度为4,000个字符 FT_NVARCHAR, //可变长度Unicode数据,其最大长度为4,000字符。 FT_NTEXT, //可变长度Unicode数据,其最大长度为2^30-1(1,073,741,823)个字符//sysname是系统提供用户定义的数据类型,在功能上等同于nvarchar(128),用于引用数据库对象名//二进制字符串 FT_BINARY, //固定长度的二进制数据,其最大长度为8,000个字节 FT_VARBINARY, //可变长度的二进制数据,其最大长度为8,000个字节 FT_IMAGE, //可变长度的二进制数据,其最大长度为2^31-1(2,147,483,647)个字节};//字段信息typedefstructtagFIELD_INFO{ LPCTSTRpszName; //字段名intiFieldType; //字段类型intiFieldSize; //字段大小intiDefault; // BOOLbNull; // BOOLbKey; //}FIELD_INFO,*PFIELD_INFO;classAccessDBMgr{public:staticBOOLbAfxOleInit; //防止初始化次private:char _szProvider[100]; _ConnectionPtr _pConnection; _RecordsetPtr_pRecordset; HANDLE _hrecordsetunlock;public: AccessDBMgr();virtual~AccessDBMgr();//初始化COM库 BOOLInit(intnProviderType);//创立数据库 BOOLCreateMdb(constchar*pszMdbName); //翻开数据库 BOOLOpenMdb(constchar*pszMdbName,constchar*pszPwd=NULL); //翻开SQLServer数据库 BOOLOpenSQLServerDB(intnAuthType, //认证方式 LPCTSTRpstrServer, //SQL效劳器名 LPCTSTRpstrDBName, //数据库名 LPCTSTRpstrUser, //用户 LPCTSTRpstrPwd); //密码//创立新表intCreateTable(constchar*pszMdbName,constchar*pszTableName, PFIELD_INFOpaFieldsInfo,intnCount);//翻开记录集,返回查询记录数,返回-1执行失败intOpenRecordset(LPCTSTRsSQL); //执行SQL语句,返回影响的记录数,返回-1执行失败intExecuteSQL(LPCTSTRsSQL); //是否到记录集首 BOOLIsBOF();//是否到记录集末尾 BOOLIsEOF();//获得字段值 BOOLGetFieldValue(intnIndex,_variant_t&varValue); //nIndex0-based BOOLGetFieldValue(LPCTSTRlpszName,_variant_t&varValue); BOOLSetFieldValue(LPCTSTRlpszName,const_variant_t&varValue);//移动到第一条记录voidMoveFirst();//移动到下一条记录voidMoveNext(); voidUpdate();voidUpdateBatch();voidAddNew();voidDelete();//关闭记录集voidCloseRecordset(); //关闭数据库voidCloseMdb(); };#endif//!defined(AFX_ADOMDB_H__F64E7E9D_4790_467F_8315_B030DD0E615B__INCLUDED_)〔2〕#pragmaonce#include"afxcmn.h"//CAttendance对话框classCAttendance:publicCPropertyPage{ DECLARE_DYNAMIC(CAttendance)public: CAttendance();virtual~CAttendance();//对话框数据enum{IDD=IDD_DLG_ATTENDANCE};protected:virtualvoidDoDataExchange(CDataExchange*pDX);//DDX/DDV支持 DECLARE_MESSAGE_MAP() DepartmentInfoArray _departmentinfoarray; EmployeeInfoArray _employinfoarray; EmployeeStatisticsInfoArray_employstatinfoarray;//单个员工的统计信息 QueryResultArray _queryresultarray; //需进行统计的员工列表 QueryResultArray _latearray; //迟到员工 QueryResultArray _leaveearlyarray; //早退员工 QueryResultArray _absentarray; //缺勤员工 QueryResultArray _workextraarray; //加班员工 AttendancdInfoArray m_attendanceinfoarray; //数据库中查得的记录 COleDateTimeSpanm_startworktime,m_endworktime;void GetRequestList(CStringdate,CStringtime,CStringdate2,CStringtime2);void GetRequestListByName(CStringdate,CStringtime,CStringdate2,CStringtime2,CStringname);void GetRequestListByDepartment(CStringdate,CStringtime,CStringdate2,CStringtime2,CStringdepartment);void GetRequestListByNameAndDepartment(CStringdate,CStringtime,CStringdate2,CStringtime2,CStringname,CStringdepartment);void ShowInListCtrl();void ShowInListCtrl2();void GetQueryResult();void Addrecord(constint);void SetQueryResultDate(COleDateTime);void ShowQueryResult2(); //在列表框中显示结果,及其他一些统计:加班缺勤void ReSetQueryResultTime();public: CListCtrl_lists;virtualBOOLOnInitDialog(); afx_msgvoidOnBnClickedBtnQuery(); afx_msgvoidOnBnClickedCheckDepartment(); afx_msgvoidOnBnClickedCheckName(); afx_msgvoidOnBnClickedBtnExportexcel();};〔3〕#pragmaonceclassCAttendanceInfo{private: CString_cardno,_name,_department,_date,_time,_datetime; COleDateTime _datetime2;public: CAttendanceInfo(void); ~CAttendanceInfo(void);void SetCardNo(LPCTSTR); CString GetCardNo()const;void SetName(LPCTSTR); CString GetName()const;void SetDepartment(LPCTSTR); CString GetDepartment()const;void SetDate(LPCTSTR); CString GetDate()const;void SetTime(LPCTSTR); CString GetTime()const;void SetDateTime(LPCTSTR); CString GetDateTime()const;void SetDateTime2(COleDateTime); COleDateTime GetDateTim
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年网络安全监控平台建设合同样本3篇
- 2025年度委托招生中介服务合同样本6篇
- 2025年度绿色低碳城市规划设计咨询合同4篇
- 2025年版新媒体代运营服务及市场调研合同3篇
- 2025年度节水型落水管设计与施工服务合同4篇
- 二零二五年度煤炭行业节能减排技术改造合作协议4篇
- 二零二五年机关办公楼物业费收缴与结算协议3篇
- 二零二五年度水泥行业生产技术与专利转让合同2篇
- 2025年度城市轨道交通建设项目咨询与服务合同4篇
- 2025年度芒果园生态旅游项目开发与运营合同4篇
- 2025年度影视制作公司兼职制片人聘用合同3篇
- 儿童糖尿病的饮食
- 2025届高考语文复习:散文的结构与行文思路 课件
- 干细胞项目商业计划书
- 浙江省嘉兴市2024-2025学年高一数学上学期期末试题含解析
- 2024年高考新课标Ⅱ卷语文试题讲评课件
- 回收二手机免责协议书模板
- 2023年系统性硬化病诊断及诊疗指南
- 外科医师手术技能评分标准
- 《英语教师职业技能训练简明教程》全册配套优质教学课件
- 采购控制程序
评论
0/150
提交评论