基于c#的考勤系统设计

基于c#的考勤系统设计

ID:9317176

大小:110.50 KB

页数:9页

时间:2018-04-27

基于c#的考勤系统设计_第1页
基于c#的考勤系统设计_第2页
基于c#的考勤系统设计_第3页
基于c#的考勤系统设计_第4页
基于c#的考勤系统设计_第5页
资源描述:

《基于c#的考勤系统设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于C#的考勤系统设计  摘要:在.NET集成开发平台下,利用C#进行程序设计,通过读取ID卡上的标识性数据,结合数据库技术设计并实现了考勤系统。阐述了系统设计思路及关键技术。  关键词:.NET;考勤系统;C#;ID卡;数据库技术  中图分类号:TP319文献标识码:A文章编号文章编号:16727800(2013)0010010702  基金项目:紫琅职业技术学院特色专业建设项目(201104)  作者简介:韩小祥(1979-),男,硕士,紫琅职业技术学院讲师,研究方向为数据绑定技术、数字水印技术;万里骏(1983-),女,硕士,紫琅职业技术学

2、院助理实验师,研究方向为无线传感网络。  0引言9  信息化时代的今天,考勤系统被广泛应用在各行各业,其形式丰富、技术多样,很好地解决了传统签到式考勤的弊端,提高了实时精度,并有利于数据查询与汇总。目前,利用.NET技术实现的考勤系统还比较少。.NET的集成开发环境具备高效、快速开发的特性,其数据控件功能强大、使用方便、扩展性强。考勤系统中采用刷卡模式的较多,利用读卡器进行读卡操作,并获取标识性数据,通过对该标志性数据的识别获得相应的身份,从而进行精确的考勤,这种方法操作简便,实时性强。  1设计思路  考勤系统可基于C/S或B/S架构进行设计,

3、由于考勤管理的严肃性,在终端仅需进行简单的刷卡操作,数据查询与汇总应由专门的人员进行操作,所以绝大多数考勤系统以C/S架构的形式呈现。本系统以125K低频读卡器为例,C#为编程语言进行开发。.NET集成开发环境提供了丰富的控件及数据绑定功能,这给程序设计带来了极大的便捷体验。程序界面以Windows窗体呈现,充分利用ListView控件的数据绑定功能灵活设计,以达到简洁、实用、高效的目的。  序号列名数据类型说明  1KIDint自动编号,主键  2KNamevarchar(50)员工名称  3KDatevarchar(50)考勤日期  4KTi

4、meVarchar(50)考勤时间  5KDetailsvarchar(50)考勤细节,如事假、病假记载  3实现过程  3.1ID卡读取9  为了识别刷卡者的身份,最重要的环节便是通过读卡器读取ID卡中的标识性数据,如ID卡号。员工使用ID卡刷卡,读卡器开始工作,在读出ID号码后会向上位机通过串口发出指令,上位机监视串口缓冲区中是否有数据进来,如果有则读进来,读多少个字节要看读卡器的通许协议,在C#中可以使用SerialPort的DataReceiving事件来监控是否有数据进来,然后使用SerialPort的ReadLine方法来读取缓冲区里

5、的数据,并在文本框中显示,其过程如下:  privatebytereceivedData=newbyte[11];  privatedelegatevoidUpdateTextEventHandler(stringtext);//定义委托  privateeventUpdateTextEventHandlertextChanged;//定义事件  privatevoidChangeText(stringtext)//事件处理方法  {  textBox1.Text=text;  }  publicForm1()  {9  InitializeCo

6、mponent();  if(serialPort1.IsOpen)  {  serialPort1.Close();  }  serialPort1.BaudRate=9600;//设置波特率为9600  serialPort1.PortName="COM1";//设置端口号,这里使用COM1端口  serialPort1.ReceivedBytesThreshold=11;//设置DataReceived事件发生前内部输入缓冲区中的字节数为11  textChanged+=newUpdateTextEventHandler(ChangeTex

7、t);//将事件处理方法添加到事件中去  serialPort1.Open();  }  privatevoidserialPort1_DataReceived(objectsender,System.IO.Ports.SerialDataReceivedEventArgse)9  {  serialPort1.Read(receivedData,0,11);  stringtext=Encoding.ASCII.GetString(receivedData).Substring(1,10);  serialPort1.DiscardInBuff

8、er();  this.Invoke(textChanged,newstring{text});  }  3.2窗体布局与查询  (1)

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。