• 27.24 KB
  • 2022-05-17 12:55:15 发布

毕业设计(论文)-考勤管理系统的设计与实现

  • 32页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
河南农业大学华豫学院本科毕业论文(设计)摘要在现代化企业中,企业员工的考勤工作不仅工作量大,而且时效性强。随着数据库技术的发展和企业信息化建设的进行,使用计算机管理企业考勤工作也成为大势所趋,它为企业的考勤工作节约了大量的人力和物力,也大大减轻了考勤工作人员的工作量。考勤管理系统是企业对考勤实行了信息化管理,其目的是为了实现员工考勤数据采集、信息查询和数据统计过程的自动化,完善人事管理现代化,方便管理人员统计、考核员工出勤情况,计算员工工资。关键词关键词关键词关键词:考勤管理,Access2007,数据库,VC++AbstractInthecorporationstoday,employees’jobofcheckonworkattendancenotonlyworkloadisverylarge,butalsotimeisverystrong.Alongwithdevelopmentofdatabasetechnologyandprogressofcorporationinformation’sbuilding,usingcomputertomanagecheckonworkattendanceofcorporationswhichitisnecessary.Itsavesamassofmanpowerandmaterialresourcesandgreatlylightensworkloadofemployees.AttendanceManagementSystemisabusiness-to-appraisaloftheimplementationofinformationmanagement,whichaimsisdesignedtoachievestaffattendancedatacollection,informationqueryandstatisticalprocessautomation,improvepersonnelmanagementmodernization,andtheconvenienceofstafftoreporttowork,facilitatemanagementstatistics,theexaminationstaffattendance.Keywords:attendance,Access2007,database,VC++ 河南农业大学华豫学院本科毕业论文(设计)目录0绪论...........................................................................................................................................11.系统目标及使用软件介绍.......................................................................................................11.1.系统目标.........................................................................................................................11.2.使用软件的介绍.............................................................................................................12.可行性研究及设计思想...........................................................................................................22.1.可行性研究.....................................................................................................................22.2.开发设计思想.................................................................................................................33.需求分析...................................................................................................................................33.1.用户需求分析.................................................................................................................33.2.数据分析——概念模型设计.........................................................................................3 1.1.1.数据描述...............................................................................................................31.1.2.数据库建模...........................................................................................................41.1.3.关系描述的设计...................................................................................................52.系统设计...................................................................................................................................62.1.Access2007数据库的建立...........................................................................................62.2.数据库连接.....................................................................................................................72.3.数据库操作.....................................................................................................................82.4.各个模块的设计与实现.................................................................................................93.主要技术.................................................................................................................................153.1.主要控件代码...............................................................................................................153.2.ADO数据库访问技术.................................................................................................164.结束语 .....................................................................................................................................17致谢.......................................................................................................................................18参考文献.......................................................................................................................................18河南农业大学华豫学院本科毕业论文(设计)1.0绪论当今社会,资金是企业生存的主要元素,资金的流动影响到企业的整体运作,企业员工的工资是企业资金管理的一个重要的组成部分。而随着企业人员数量的增加,企业的工资管理也变得越来越复杂。企业员工的人数越多,工资的统计工作就越多,工资的发放困难就越大。传统的纸张材料的数据信息管理方式已经不适合现代企业的发展,实现工资管理的系统化、规范化、自动化,将成为现代公司管理工资的首选。随着计算机的诞生和普及以及计算机网络的发展,我们可以开发一个工资管理系统,用计算机代替大量的人工统计和计算,完成许多工资信息的处理,同时,使用计算机还可以安全地、完整地保存大量的工作记录。1.系统目标及使用软件介绍1.1.系统目标系统需符合考勤工资管理制度,并达到操作直观、方便、实用、安全等要求。能够提 供详细的员工基础信息,包括自然条件信息、工资情况、来源、去向、岗位变动情况。能够随时查阅在职、非在职人员信息,提供出职工花名册,同时为财务部提供人员变动单及月基本工资汇总情况等。针对这些要求,系统建立了职工信息查询、职工信息删除、职工工资信息管理、职工工资信息查询4个主要信息库。系统根据增减人员、工资变动操作自动生成记录记载变动内容,以便用户查询其变动过程。实现了对员工信息的查询、统计、增减、变动记录等功能。1.1.使用软件的介绍(1)应用程序开发工具微软公司的VC++6.0是Windows应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。VC++6.0提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统VC是一个相对较好的选择[1]。VC++6.0编程语言是一个面向对象的集成开发系统。它简单、高效的特点使它成为编程者的最爱。它提供了灵活的可视化设计工具,将可视化界面与面向对象技术完善、紧密地结合起来,其友好的集成开发界面,可视化的双向开发模式,良好的数据库应用支持高效的程序开发和程序运行,备受广大程序开发人员的好评。采用Access2007数据库环境开发,可缩短开发周期,提高开发效率的特点。对系统的软硬件要求也低,减少用户的资金投入[2]。河南农业大学华豫学院本科毕业论文(设计)2.(2)关系型数据库的选择 Access2007就是关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然[3]。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access作为关系数据库开发具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。1.可行性研究及设计思想1.1.可行性研究(1)技术可行性随着国内软件开发的日益发展壮大,各种中小企事业单位已具备独立开发各种类型的软件的能力,能够满足不同行业的特别的需求。而这个系统尽管其在组织关系上存在着很大的复杂性,繁琐性,但是就整个系统的技术构成上来看,它还是属于一个数据库应用类的系统。其基本操作还是对存在数据库进行添加、删除、查找、编辑等。所以就单纯的数据库应用来看,暂不存在太大的技术问题。(2)经济可行性对于整个系统而言,在系统未运行之前,初期投资比较大,花费相对而言比较多。各部门必须配置电脑、服务器、打印机、传真机及相关的网络设备,但是在整个系统投入运行之后,因为现在计算机已经普及了,相关的人员培训费可以减少很多。而同时又减少了 数据的流通环节,不必要花费那么多的时间,也就是说最重要的就是提高了效率,而又保证了各项数据的准确性,也避免了工作人员的流动造成的收据丢失等问题,适应了当前的发展形式。(3)管理可行性随着时代的发展,人员素质的提高,不论是对于电脑系统的基本操作还是对于系统的维护都有了一定的基础。同时还可以配置专业的电脑维护人员来维护电脑,不必担心电脑故障问题。(4)开发环境可行性我采用的VC++6.0开发工具,它首先是一个开放的协作式系统,可以和多种PC产品集成,并可以通过专用接口或ODBC接口连接许多比较常用的数据库;其次它具有可视化河南农业大学华豫学院本科毕业论文(设计)1.的开发环境,使代码的编写更为直观,并且在可视化环境下的调试和维护也相对容易。而为方便用户界面的开发,VC++6.0提供了大量控件,这既丰富了应用程序的表达能力,也加快了项目的开发速度。同时,它拥有多平台的开发环境,如果需要把一个平台上开发的代码移植到另外一个平台上,只要重新编译就可以了。1.1.开发设计思想本系统开发设计思想:(1)尽量利用企业现有软件环境,采用先进的管理系统方案,从而达到充分利用企业现有资源,提高系统开发水平和应用效果的目的。(2)系统应符合企业工资管理的规定,满足企业相关人员日常使用的需要,并达到操作过程的直观、方便、实用、安全等要求。(3)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于 技术维护人员进行补充、维护。(4)系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。1.需求分析1.1.用户需求分析随着社会现代化的发展,单位日常管理相关的信息随之急剧增加,传统的人力手工管理模式越来越不能适应现在的工作效率和准确性。在这个高节奏的信息时代,安全、准确的管理信息系统是每个管理者所需求的。建立一个适应现代化社会经济体制的管理信息系统势在必行。在大量地调查和研究的基础上,包括访问用户,了解财务系统模型,熟悉现有的工作流程和数据流程等工作,采集和分析有关资料和、报表和业务规定,进行了财务管理软件的开发。在整个系统的设计和开发过程中,积极采纳最终用户的意见。对于开发财务管理系统进行了认真仔细的分析,在实施过程中不断地加以修改和完善,使这套财务管理系统能更好地运行。该系统的具体任务就是设计一个电脑公司财务的数据库管理系统,由计算机来代替人工执行一系列诸如增加、删除、修改、查询、统计及打印等操作。这样就使办公人员以轻松快捷地完成财务管理的任务。1.2.数据分析——概念模型设计1.2.1.数据描述(1)静态数据河南农业大学华豫学院本科毕业论文(设计)2.静态数据是系统内部有关的数据结构与操作规程。 具体可包括:员工基本信息表(PersonInfo)、员工工种情况表(Department)、员工考勤情况表(Attendance)、员工缺勤情况表(Absent)、员工加班情况表(Duty)、部门表(Dept)、工资表(PersonPay)。(2)动态数据动态数据包括程序运行时输入和输出的数据,具体是数据库的各个表的各个不同元组与属性值.(3)数据库描述根据上面的分析就可以设计出能够满足用户需求的各种数据实体,以及它们之间的关系,为后面的逻辑结构设计打下基础,这些实体包括各种具体信息,通过相互之间的作用形成数据的流动。概念型数学模型是一种面向问题的数学模型,是按用户的观点来对数据和信息建模。最常用的表示概念数据模型的方法是实体——联系方法(Entity——RelationshipApproach)。这种方法用E—R图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法,该方法又称E—R模型。E—R图中共有三种符号:实体、属性和联系。通常实体用矩形来表示,属性用椭圆或圆角矩形来表示,联系用菱形来表示[4]。联系又分为一对一、一对多和多对多三种类型。1.1.1.数据库建模经过上面的分析,能够提取出以下几个实体:员工、工种、考勤情况、月工资等。它们的实体图如图3.1至3.2所示。 图3.1员工信息实体图员工员工姓名性别员工编号所在部门所属工种河南农业大学华豫学院本科毕业论文(设计)5图1.1.工种实体图3.2.3关系描述的设计根据以上各实体图和考勤管理系统的E—R图,经过转换,可以得出各个关系。其转换规则为:首先每个实体应转化为一个关系,有属性的联系也应转化为一个关系,然后需 要给出每个关系的关键字。根据以上规则,直接给出所有关系。员工基本信息(PersonInfo),见表3.1。表表表表3.1员工基本信息员工基本信息员工基本信息员工基本信息员工编号员工编号员工编号员工编号员工姓名员工姓名员工姓名员工姓名性别性别性别性别所在部门所在部门所在部门所在部门所属工种所属工种所属工种所属工种工种编号工种编号工种编号工种编号 PersonIDPersonNamePersonSexDeptJobDeptNO部门信息(Department),见表3.2。表表表表3.2部门信息部门信息部门信息部门信息工种编号工种编号工种编号工种编号所在部门所在部门所在部门所在部门工种名称工种名称工种名称工种名称基本工资基本工资基本工资基本工资DeptNODeptJobPay员工考勤情况(Attendance),见表3.3。表表表表3.3 员工考勤信息员工考勤信息员工考勤信息员工考勤信息员工编号员工编号员工编号员工编号员工姓名员工姓名员工姓名员工姓名执勤天数执勤天数执勤天数执勤天数加班天数加班天数加班天数加班天数缺勤天数缺勤天数缺勤天数缺勤天数所在月份所在月份所在月份所在月份PersonIDPersonNameAtDaysDutyDaysAbDaysAtMonth员工缺勤情况(Absent),见表3.4。表表表表3.4员工缺勤情况 员工缺勤情况员工缺勤情况员工缺勤情况员工编号员工编号员工编号员工编号员工姓名员工姓名员工姓名员工姓名缺勤天数缺勤天数缺勤天数缺勤天数请假类型请假类型请假类型请假类型所在月份所在月份所在月份所在月份备注备注备注备注扣除工资扣除工资扣除工资扣除工资PersonIDPersonNameAbDaysAbReasonAbMonthAbRemarksAbPay员工加班情况(Duty),见表3.5。工 种工种编号部门名称工种名称基本工资河南农业大学华豫学院本科毕业论文(设计)6表表表表3.5员工加班情况员工加班情况员工加班情况员工加班情况员工编号员工编号员工编号员工编号员工姓名员工姓名员工姓名员工姓名加班天数 加班天数加班天数加班天数所在月份所在月份所在月份所在月份加班工资加班工资加班工资加班工资PersonIDPersonNameDutyDaysDuMonthDutyPay员工工资信息(PersonPay),见表3.6。表表表表3.6员工员工员工员工工资工资工资工资信息信息信息信息员工编号员工编号员工编号员工编号员工姓名员工姓名员工姓名 员工姓名工种工种工种工种编号编号编号编号基本工资基本工资基本工资基本工资加班加班加班加班工资工资工资工资扣除扣除扣除扣除工资工资工资工资总工资 总工资总工资总工资月份月份月份月份PersonIDPersonNameDutyNOBasePayDutyPayAbPaySumPayPMonth在得出以上关系后,根据关系数据库的理论要求,需要对所有关系进行关系规范化,至少要求各个关系达到第三范式的要求,按照第三范式的要求对比以上各个关系,在所有关系中都不存在非主属性对关键字的部分依赖,即满足第三范式。1.系统设计1.1.Access2007数据库的建立为了在操作过程中使用数据的方便,选用Access作为数据库,启动Access建立一个空白的数据库:(1)打开Access2007,点击【空白数据库】,为数据库命名Attendance,选择好存储路径,单击创建,如图4.1所示。图4.1数据库创建图河南农业大学华豫学院本科毕业论文(设计)7(2)在工资数据库中创建部门信息表,月工资表,管理员,考勤记录,员工信息表等表,如图4.2所示。图1.2.考勤数据库图1.3.数据库连接首先,需要在stdafx.h中添加如下代码:#import"C:ProgramFilesCommonFilesSystemadomsado15.dll"no_namespace rename("EOF","adoEOF")然后,在CAttendanceApp中的InitInstance函数下添加如下代码:AfxOleInit();HRESULThr;m_pConnection.CreateInstance(__uuidof(Connection));try{m_pConnection->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=Attendance.mdb";m_pConnection->ConnectionTimeout=10;hr=m_pConnection->Open("","","",adModeUnknown);if(hr!=S_OK)河南农业大学华豫学院本科毕业论文(设计)8AfxMessageBox("无法连接到数据库,请确定数据库路径正确!");}catch(_com_errore){CStringerrormessage;errormessage.Format("连接数据库失败!rn错误信息:%d",e.ErrorMessage());AfxMessageBox(errormessage);///显示错误信息}利用externCAttendanceApptheApp;在所有的操作页面类中声明一个外部的对象,就可以对数据库进行操作了。1.1.数据库操作 要对数据库进行操作,首先需要声明一个数据集,以便用它操作,例如:_RecordsetPtrm_pRecPer;m_pRecPer.CreateInstance(__uuidof(Recordset));///进行实例化…打开指定记录集:try{m_pRecPer->Open("select*fromPersonInfo",_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenDynamic,adLockOptimistic,adCmdText);}catch(_com_errore){CStringstr;str.Format("数据库打开失败!rn错误信息:%s",e.ErrorMessage);AfxMessageBox(str);}向表中添加信息(打开记录集方法同上,更换所需要的SQL语句即可):m_pRecPer->AddNew();m_pRecPer->PutCollect("PersonID",(_variant_t)(dlg.m_strNO));m_pRecPer->PutCollect("PersonName",(_variant_t)(dlg.m_strName));m_pRecPer->PutCollect("PersonSex",(_variant_t)(strSex));河南农业大学华豫学院本科毕业论文(设计)9m_pRecPer->PutCollect("Dept",(_variant_t)(dlg.m_strDept));m_pRecPer->PutCollect("Job",(_variant_t)(dlg.m_strJob));m_pRecPer->Update();m_pRecPer->Close(); 修改表中信息:m_pRecPer->PutCollect("PersonID",(_variant_t)(dlg.m_strNO));m_pRecPer->PutCollect("PersonName",(_variant_t)(dlg.m_strName));m_pRecPer->PutCollect("PersonSex",(_variant_t)(strSex));m_pRecPer->PutCollect("Dept",(_variant_t)(dlg.m_strDept));m_pRecPer->PutCollect("Job",(_variant_t)(dlg.m_strJob));m_pRecPer->Update();m_pRecPer->Close();删除选中信息:m_pRecPer->Delete(adAffectCurrent);m_pRecPer->Update();m_pRecPer->Close();1.1.各个模块的设计与实现(1)登陆模块系统登录模块用于验证用户登录系统时输入的用户名,密码是否正确,只有合法的用户才可以进入系统。为了实现此功能,需要在数据库中加入表Login,表内容见表4.1:表表表表4.1Login表内容表内容表内容表内容 字段名称字段名称字段名称字段名称数据类型数据类型数据类型数据类型必填字段必填字段必填字段必填字段相关属性相关属性相关属性相关属性备注备注备注备注ID自动编号是——主键userName文本否字段大小=12用户名userPassword文本否字段大小=16密码实现验证用户名,密码功能的代码如下:CStringstrName;strName.Format("selectuserPasswordfromLoginwhereuserName="%s"",m_strName);BSTRbstrSql=strName.AllocSysString(); try河南农业大学华豫学院本科毕业论文(设计)10{m_pRecordset->Open(bstrSql,_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);}catch(_com_errore){CStringstrOpen;strOpen.Format("数据库打开失败!rn错误信息:%d",e.ErrorMessage);AfxMessageBox(strOpen);}if(!m_pRecordset->adoEOF){if(m_strPass==(_bstr_t)m_pRecordset->GetCollect("userPassword"))CDialog::OnOK();elseAfxMessageBox("密码不正确!");}elseAfxMessageBox("该用户不存在!");该系统还实现了注册新用户的功能,在系统菜单下有注册新用户选项卡,点击注册新用户,即可注册新用户,如图4.3河南农业大学华豫学院本科毕业论文(设计)11图1.1.新用户注册点击后弹出注册窗口,实现注册新用户代码如下: CStringstr;str.Format("select*fromLoginwhereuserName="%s"",m_strName);BSTRbstrSql=str.AllocSysString();try{m_pRecordset->Open(bstrSql,_variant_t((IDispatch*)theApp.m_pConnection,true),adOpenDynamic,adLockOptimistic,adCmdText);}catch(_com_errore){AfxMessageBox(e.ErrorMessage());}if(m_pRecordset->adoEOF){try{m_pRecordset->AddNew();河南农业大学华豫学院本科毕业论文(设计)12m_pRecordset->PutCollect("userName",(_variant_t)(m_strName));m_pRecordset->PutCollect("userPassword",(_variant_t)(m_strPass));m_pRecordset->Update();}catch(_com_errore){AfxMessageBox(e.ErrorMessage());} AfxMessageBox("新用户注册成功!");CDialog::OnOK();}elseAfxMessageBox("该用户名已存在!");新用户注册成功后会提示“新用户注册成功!”,可以利用重新登录来检测是否注册成功。(2)员工信息模块员工信息模块可以显示员工基本信息,并可以增加新的员工信息并对需要修改或删除的员工信息加以修改、删除,在删除的同时还需要把其他表单中相应的员工记录删除。点击数据选择菜单下的员工信息,就可以弹出员工信息模块,如图4.4所示河南农业大学华豫学院本科毕业论文(设计)13图1.1.员工信息界面在该模块中含有添加、修改、删除以及通过编号查询和通过姓名查询的功能,点击添加按钮会弹出相应的添加窗口,在选中记录之后点击修改(删除)按钮会弹出相应的修改窗口(确认删除的提示),如果没有选择记录,则会有“请选择需要修改(删除)的记录”的提示。该模块的编写需要注意以下几点:①添加新记录时需确定要添加的员工信息在员工信息表中没有记录。②确定新员工信息的部门、工种及工种编号在部门信息中存有记录。③删除记录时需同时删除员工在考勤表,工资表的对应记录,并在删除的时候会有 是否删除的确定提示。(3)部门信息模块该模块显示了工种编号、部门名称、工种名称以及基本工资,并可以对其进行添加和修改,同时也能根据部门名称和部门编号进行查询操作。点击数据选择下的部门信息菜单,便可弹出相应的部门信息窗口。(4)考勤信息模块该模块实现了考勤信息的显示及查询,查询分为姓名查询、编号查询、按年查询和按月查询四种方式,当填写好年月,并输入姓名(或编号),点击姓名(或编号)下的查询河南农业大学华豫学院本科毕业论文(设计)14按钮,便可查询该姓名(或编号)的员工在该年月下的考勤信息。点击数据选择菜单下的考勤信息,可弹出如图4.5的考勤信息界面。图1.1.考勤信息界面需要注意的是,该模块并不具备添加、修改功能,添加新纪录时,需要先在缺勤信息内添加当月的缺勤纪录(如果当月没有缺勤纪录,可添加缺勤天数为0),再在加班信息中添加当月的加班天数(没有加班可以不进行填写,系统会默认为0)。(5)缺勤记录模块及加班记录模块缺勤记录模块用于实现对员工执勤情况的管理,通过在该模块下添加、修改员工执勤记录可相应修改员工在考勤信息及工资信息中的相应数据。点击考勤记录菜单下的缺勤记录选项,可弹出如图4.6的缺勤记录界面。该模块的编写需要注意以下几点: ①添加新记录时需要先确定该员工是否在员工信息中有记录,在确定该员工的当月记录是否已经添加在缺勤记录表中。②添加新记录的同时需要在考勤信息和工资信息中添加相应的记录。③修改一条记录时也需要在考勤信息和工资信息中修改相应的记录。加班记录模块用于实现对员工加班情况的管理,编写方法及注意事项和缺勤模块基本一致,通过点击考勤记录菜单下的加班记录选项,便可弹出加班记录的界面。河南农业大学华豫学院本科毕业论文(设计)15图1.1.缺勤信息界面(6)工资信息模块该模块用于显示员工工资信息,并实现姓名查询、员工编号查询、工种编号和按月查询以及数据导出的功能,选择数据选择菜单下的工资信息,便可弹出相应的工资信息界面,其实现方法与考勤信息模块基本一致。2.主要技术我的程序是采用VisualC++完成,所用的技术是C++的数据库编程,选用的数据库是MicroSoft的Access2007,整个制作过程用了两个月,有不少地方做的不好(例如界面不太美观),需要进一步的完善才行,不足之处请老师见谅。2.1.主要控件代码关于下拉列表框的使用,向下拉列表框中添加数据,以月份为例,代码如下:for(inti=1;i<13;i++){CStringstrI;strI.Format("%d",i); ((CComboBox*)GetDlgItem(IDC_COMBO_M))->AddString(strI);}河南农业大学华豫学院本科毕业论文(设计)16关于列表控件的使用,设置列表控件表头,以员工信息为例,代码如下:m_listPerson.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);m_listPerson.InsertColumn(0,"员工编号",LVCFMT_LEFT,80);m_listPerson.InsertColumn(1,"员工姓名",LVCFMT_LEFT,80);m_listPerson.InsertColumn(2,"性别",LVCFMT_LEFT,60);m_listPerson.InsertColumn(3,"所在部门",LVCFMT_LEFT,80);m_listPerson.InsertColumn(4,"所属工种",LVCFMT_LEFT,80);m_listPerson.InsertColumn(5,"工种编号",LVCFMT_LEFT,80);向列表控件中添加数据库信息,以添加员工信息为例:while(!m_pRecPer->adoEOF){try{m_listPerson.InsertItem(0,_bstr_t(""));m_listPerson.SetItemText(0,0,(_bstr_t)m_pRecPer->GetCollect("PersonID"));m_listPerson.SetItemText(0,1,(_bstr_t)m_pRecPer->GetCollect("PersonName")m_listPerson.SetItemText(0,2,(_bstr_t)m_pRecPer->GetCollect("PersonSex"))m_listPerson.SetItemText(0,3,(_bstr_t)m_pRecPer->GetCollect("Dept"));m_listPerson.SetItemText(0,4,(_bstr_t)m_pRecPer->GetCollect("Job")); m_listPerson.SetItemText(0,5,(_bstr_t)m_pRecPer->GetCollect("DeptNO"));m_pRecPer->MoveNext();}catch(_com_errore){CStringstrerror;strerror.Format("数据库导出失败!rn错误信息:%s",e.ErrorMessage);AfxMessageBox(strerror);}}1.1.ADO数据库访问技术尽管应用程序仍可使用VisualC++6.0中的ODBC和RDO,但Microsoft还是推荐将河南农业大学华豫学院本科毕业论文(设计)17ADO作为新应用程序的数据访问方法。所有这些数据访问方法都是COM接口,可在不同工具中使用,但是,它们之间还是有几点主要区别:(1)ADO是访问OLEDB中所有类型数据的对象模型。诸如VisualBasic、Java、VisualC++6.0、VBScript和Jscript的语言都可使用ADO,然后通过其访问任何OLEDB源中的数据。ADO可用来访问关系数据,以及E-Mail或电子表格中含有的数据。(2)RDO是访问ODBC中关系数据的对象模型。RDO可使VisualBasic开发人员访问ODBC数据时不需编写ODBCAPI代码。RDO 是针对ODBCAPI的一种COM接口,可在程序设计对象模型中提供ODBC的功能。它的作用是可使用那些使用了复杂的查询引擎的数据库服务器程序,例如,SQLServer和Oracle。(3)DAO是通过访问Jet本地或SQL数据的对象模型。DAO是三种数据访问方法中最早的一种方法。使用DAO,可访问MicrosoftJet数据库、MicrosoftJet-connectedODBC数据库和可安装的索引序列访问方法(indexedsequentialAccessmethod,ISAM)数据源,例如FoxPro、Paradox、Lotus1-2-3中的数据。同新型的ADO和RDO技术相比,DAO是速度相对较慢、功能较少的数据访问方法。DAO,与其同伴MicrosoftJet数据引擎相似,最初是为支持ISAM数据访问而设计的。综上所述,ADO具有以下特点:(1)ADO可访问各种类型的数据,而RDO和DAO只能访问关系数据。(2)ADO对象模型没有RDO或DAO那么复杂,易于使用,需要代码也较少。(3)ADO结合了RDO和DAO最好的性能,最终将取代它们。(4)ADO是Microsoft工具使用的标准数据访问对象模型[5]。6结束语通过本次毕业设计实践,我不仅加深了对VisualC++6.0程序设计工具的熟悉,加深了对Access2007的认识;而且还学到了一些有关考勤管理系统开发方面的知识。体会了软件开发的基本过程,这为我今后在该领域上的应用奠定了基础。在指导老师毛晓菊的引导和帮助下,通过几个月的设计和开发,企业考勤管理管理系统基本开发完毕。其功能基本符合用户需求,能够完成职工基本信息、工资输入和统计。 以及各类查询。并提供部分系统维护功能,使用户方便进行数据备份和恢复、数据删除。同时也考虑到了单位编码以减少数据冗余的问题,对于数据的一致性的问题也通过程序进行河南农业大学华豫学院本科毕业论文(设计)18了有效的解决。但是,在开发过程中,由于平时在软件开发方面的实践太少,因而重复工作太多。又由于时间和技术水平的限制,本软件的部分功能还有不尽人意的地方,请老师和同学多提宝贵意见,以使我在今后的工作中进一步完善。我将不胜感激!致谢在论文完成之际,谨向所有关心和帮助过我的人表示最衷心的感谢。首先感谢我的导师毛晓菊老师,感谢她在学业上对我孜孜不倦的教诲和悉心指导,她那种严谨的治学态度、永无止境的追求、忘我的工作热情、平易近人的为人风格和为教育事业无私奉献的高尚品德将不断地鞭策和激励我,我将在今后的工作和学习中积极向上、努力进取、以实际行动报答她对我的培养和教育。感谢河南农大华豫学院计算机科学与技术学院的领导及所有老师对我的培养,尤其感谢导师***在我论文撰写过程中给予我很大的帮助;感谢所有曾给予我帮助的好友和同学;最后,感谢父母和家人一直的大力支持。参考文献[1]丁有和,郑进,周怡君.VisualC++实用教程[M].北京:电子工业出版社.2008:334-369.[2]侯奇峰,李晓华,李莎.VisualC++数据库通用模块开发与系统移植[M].北京:清华大学出版社.2007:207-405.[3]郭玲文,丁永卫,张忠将等.中文版Access2007循序渐进教程[M].北京:科学出版社.2008:1-73. [4]王珊,萨师煊.数据库系统概论(第四版)[M].北京:高等教育出版社.2008:263-330.[5]Peter.Rob,Elie.Semaan.数据库设计与开发[M].北京:电子工业出版社.2005:9-26.