下载
加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 基于vc++的人事管理系统论文

基于vc++的人事管理系统论文.doc

基于vc++的人事管理系统论文

蔡至道
2017-10-16 0人阅读 举报 0 0 暂无简介

简介:本文档为《基于vc++的人事管理系统论文doc》,可适用于高等教育领域

基于vc的人事管理系统论文题目人事管理系统姓名xxx学号xxxx院系电气信息与自动化学院专业电气工程及其自动化指导教师xxx职称讲师年月日曲阜师范大学教务处制目录摘要„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„关键„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„Abstract„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„Keywords„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„引言„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„本课题的来源与意义„„„„„„„„„„„„„„„„„„„„„„„„„„„本课题的来源„„„„„„„„„„„„„„„„„„„„„„„„„本课题的目的与意义„„„„„„„„„„„„„„„„„„„„„„„„本课题的现状研究„„„„„„„„„„„„„„„„„„„„„„„„开发工具的简介„„„„„„„„„„„„„„„„„„„„„„„„„„„„MicrosoftAccess的简介„„„„„„„„„„„„„„„„„„„VisualC的简介„„„„„„„„„„„„„„„„„„„系统分析与设计„„„„„„„„„„„„„„„„„„„„„„„„„„„系统分析„„„„„„„„„„„„„„„„„„„„„„„„„„系统功能分析„„„„„„„„„„„„„„„„„„„„„„„„„系统功能结构„„„„„„„„„„„„„„„„„„„„„„„„„模块功能需求„„„„„„„„„„„„„„„„„„„„„„„数据库的设计„„„„„„„„„„„„„„„„„„„„„„„数据库的创建„„„„„„„„„„„„„„„„„„„„„„„„„数据源的创建„„„„„„„„„„„„„„„„„„„„„„„系统功能的实现„„„„„„„„„„„„„„„„„„„„„„„主界面设计„„„„„„„„„„„„„„„„„„„„„„„„„„„系统登录模块„„„„„„„„„„„„„„„„„„„„„„„„„„系统登录窗体的功能„„„„„„„„„„„„„„„„„„„„系统登录的主要代码„„„„„„„„„„„„„„„„„„„„添加新员工模块„„„„„„„„„„„„„„„„„„„„„„„„„添加新员工窗口的功能„„„„„„„„„„„„„„„„„„„„添加新员工的主要代码„„„„„„„„„„„„„„„„„„„员工信息查询模块„„„„„„„„„„„„„„„„„„„„„„„„员工信息查询的功能„„„„„„„„„„„„„„„„„„„„„员工信息查询的主要代码„„„„„„„„„„„„„„„„„„„人事变动模块„„„„„„„„„„„„„„„„„„„„„„„„„„人事变动的功能„„„„„„„„„„„„„„„„„„„„„„人事变动的主要代码„„„„„„„„„„„„„„„„„„„„系统测试„„„„„„„„„„„„„„„„„„„„„„„„„„„„„软件测试的目标„„„„„„„„„„„„„„„„„„„„„„„„„测试实例„„„„„„„„„„„„„„„„„„„„„„„„„„„„总结与展望„„„„„„„„„„„„„„„„„„„„„„„„„„„„总结„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„展望„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„致谢„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„参考文献„„„„„„„„„„„„„„„„„„„„„„„„„„„„„„人事管理系统电气工程及其自动化专业学生xxx指导教师xx摘要:人力资源管理是企业管理中的一个重要内容随着时代的进步企业也逐渐变得庞大起来。如何管理好企业内部员工的信息成为企业管理中的一个大问题。在这种情况下开发一个人事管理系统就显得非常必要。本系统结合公司实际的人事、制度经过实际的需求分析采用功能强大的VisualC作为开发工具而开发出来的单机版人事管人事理系统。整个系统从符合操作简便、界面友好、灵活、实用的要求出发。本企业人事管理系统具有如下功能:员工基本信息的录入模块和查询模块人事变动的信息录入、修改、查询模块以及系统用户的登录。为企业人事管理提供信息咨询信息检索信息存取等服务基本上能够满足现代企业对人事管理的需要。关键词:信息管理人事管理系统VisualCPersonnelmanagementsystemStudentmajoringinElectricalengineeringandautomationxxxTutorxxxAbstract:Humanresourcesmanagementisanimportantenterprisemanagementinthecontent,withtheprogressofTheTimes,theenterprisealsograduallybecomehugeupHowtomanageinternalemployeeinformation,businessmanagementhasbecameabigproblemInthiscase,thedevelopmentofahumanresourcemanagementsystemisverynecessaryThesystemcombinesthecompany'sactualpersonnel,systems,analysisofactualdemand,theuseofpowerfuldevelopmenttoolsasVisualCanddevelopedstandaloneversionofthepersonnelmanagementsystemgoverningpersonnelTheentiresystemfromthemeettherequirementsofsimple,friendlyinterface,flexible,practicalrequirementsThepersonnelmanagementsystemoftheenterpriseshavethefollowingfunctions:basicinformationaboutstaffinputmoduleandstaffquerymodulethepersonnelchangesoftheinformationrecorded,modify,inquiresmodule,andusersofthesystemsettingsToprovideinformationconsultation,informationretrieval,informationaccessservicesfortheenterprisepersonnelmanagement,whichprimarilytomeetthemodernenterprisestopersonnelmanagementKeywords:InformationmanagementPersonnelManagementSystemVisualC引言人力资源管理是结合公司实际的人事制度经过实际的需求分析采用功能强大的VisualC作为开发工具而开发出来的单机版人事管人事理系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发本企业人事管理系统具有如下功能:员工基本信息的录入模块和查询模块人事变动的信息录入、修改、查询模块以及系统用户的登录。为企业人事管理提供信息咨询信息检索信息存取等服务基本上能够满足现代企业对人事管理的需要。本课题的来源与意义(本课题的来源随着计算机技术的飞速发展利用计算机实现企业人事管理势在必行。对于大中型企业来说利用计算机支持企业高效率完成劳动人事管理的日常事务是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件。计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。不同的企业具有不同的人事管理制度这就决定了不同的企业需要不同的人事管理系统。人事管理系统是一个企业单位不可缺少的部分它的内容对于企业的决策者和管理者来说都至关重要所以人事管理系统应该能够为用户提供充足的信息和快捷的查询手段。但一直以来人们使用传统人工的方式管理文件档案这种管理方式存在着许多缺点如:效率低、保密性差另外时间一长将产生大量的文件和数据这对于查找、更新和维护都带来了不少的困难。因此开发这样一套适用的人事管理软件成为很有必要的事情。(本课题研究的目的及意义现代信息技术的发展使传统意义上的人事管理的形式和内涵都在发生着根本性的变化。在过去一支笔和一张绘图桌可能就是进行办公的全部工具。今天电脑、扫描仪和打印机等已基本取代了旧的办公用具。如今人事管理己完全可以通过电脑进行并在计算机辅助下准确快速地完成许多复杂的工作。这些都大大地缩短管理的时间。而今天人事管理的内容己经转变为对更为广泛的系统价值的追求。在现代化的进程中引入现代管理的思想建立一套可面向企事业单位人事的信息管理系统是十分必要的。本课题基于我国企业管理信息化建设现状结合在实际工作中所遇到的问题和收获对企业人事管理系统在设计开发等方面进行研究重点研究系统开发中所采用的软硬件平台规范、数据库结构设计、开发工具的选择与使用目的是从技术手段的角度阐述如何实现企业从传统经营管理模式向信息化管理模式转变的过程以及人事管理系统在企业管理信息化中所起到的重要作用。本课题的开发主要是要花费相当多的人力和时间虽然开发出来的软件可能离具体产生效益还有一定的距离。但是从长远利益来考虑本课题的设计开发还是具有相当大的经济可行性的。本课题的研究现状目前在国内外各大企事业单位中人事管理系统的使用是非常广泛的。同时有很多的软件开发商也开发了许多基于各种行业的企业人事管理学系统其中有单机版的也有CS和BS模式的。而不同的企业具有不同的人事管理制度这就决定了不同的企业需要不同的人事管理系统。而且企业管理信息量大、操作繁琐、传统的方式不再适应新的工作需要开发研制适合企业的人事管理系统使其具有整体性强、流程简单、操作方便、功能丰富和通用性强等特点是加快企业人才管理工作办公自动化、信息资源化和管理科学化建设进程必要途径。因此建立适合企业的管理信息系统是促进企业信息高速公路的发展为企业的发展提供条件的重要课题。随着数据库技术和网络技术的发展数据库的互连技术正成为世界计算机领域研究的热点。与此同时Internet的发展与普及国内许多企业已经建成有自己的企业人力资源管理软件为企业的快速运营提供了很大方便。但是对于有些中小企业来说不需要大量的数据库所以我们的目标是开发一个功能使用操作简单的人事管理系统。开发工具的简介现在市场上可以选购的应用开发产品很多。在目前市场上这些众多的程序开发工具中有些强调程序语言的弹性与执行效率有些则偏重于可视化程序开发工具所带来的便利性与效率的得高各有各的优点和特色但也满足了不同用户的需求。然而语言的弹性和工具的便利性是密不可分的只强调程序语言的弹性却没有便利的工具作配合会使一些即使非常简单的界面处理动作也会严重地浪费程序设计师的宝贵时间相反如果只有便利的工具却没有弹性的语言作支持许多特殊化的处理动作必需要耗费数倍的工夫来处理使得原来所标榜的效率提高的优点失去了作用。本设计我将采用面向对象的方法综合运用数据库技术、程序设计技术结合企业人事管理知识以VisualC作为系统前台应用程序开发工具Access作为后台数据库通过ODBC使两者进行连接从而进行系统软件开发。(MicrosoftAccess的简介MicrosoftAccess是比较流行的关系型数据库管理系统之一是一些关于某个特定主题或目的的信息集合。它的作用是用来存储维护和检索数据。同时提供了VBA编程接口可以为用户提供各种各样的编程功能。一个数据库对象是由若干表查询窗体报表宏和模块等对象及对象的集合组成的这些集合的组合丰富和增强了Access数据库的功能。在Access中所有的对象均保存在一个“MDB”文件中这给数据库的维护带来了很大的方便。选择Access作为后台数据库是因为Access在许多数据管理的系统中已经非常广泛的使用在数据流管理方面也是比较成熟的。同时Access相比较SQL作为后台数据库在连接方面有更为简易的表现因此选择Access作为后台数据库。(VisualC(的简介VisualC由Microsoft开发,它不仅是一个C编译器而且是一个基于Windows操作系统的可视化集成开发环境。VisualC由许多组件组成包括编辑器、调试器以及程序向导AppWizard、类向导ClassWizard等开发工具。这些组件通过一个名为DeveloperStudio的组件集成为和谐的开发环境。VisualC以拥有“语法高亮”自动编译功能以及高级除错功能而著称。比如它允许用户进行远程调试单步执行等。还有允许用户在调试期间重新编译被修改的代码而不必重新启动正在调试的程序。其编译及创建预编译头文件、最小重建功能及累加连结著称。这些特征明显缩短程序编辑、编译及连结的时间花费在大型软件计划上尤其显著。系统的分析与设计(系统分析((系统功能分析人事信息管理系统是一个典型的数据库开发应用程序它由系统用户管理、员工信息查询管理、人事变动管理等模块组成具体规划如下:()系统用户管理对使用系统的用户进行管理为他们分配一定的权限使他们规范的使用系统。本系统的用户分为两类:管理员和一般用户。管理员可以对系统的各个模块进行添加删除修改查询而一般用户只能对各模块进行简单的查询从而了解相关的信息。()员工信息管理员工信息管理包括对员工基本信息和情况的记录进行查询、添加、删除和修改。主要由管理员进行。)人事变动管理(人事变动管理是对员工的变更进行管理方便人事处管理员对员工的职务变更和辞职退休的改变方便随时了解最新最全面工作情况从而合理的完成工作。((系统功能结构系统功能结构图主要从功能的角度描述了系统的结构。人事管理的系统功能结构如图所示:人事管理系统用户登录帮助员工信息管理员工查询管理人事变动管理系统设置用退错设添设查删添设查删查修户出误关置加置找除加置找除找改于管系信理统息帮助添删加除图系统功能结构图(模块功能需求基于上面的系统功能分析我们可以看一下每个模块的功能需求分析。()增加新员工信息模块需求分析员工信息管理模块需要实现:增加新员工的基本信息以及系统自动分配定员工号和密码。()员工信息查询模块需求分析员工信息查询模块需要实现:能查询员工的基本信息、人事变动情况以及能更改员工的基本信息和修改密码。其模块流程图如下:登录主页面员工信息查询页面查询信息返回主页面修改信息操作完成图员工信息查询流程图()人事变动模块需求分析人事变动模块需要实现:输入员工号更改员工的人事变动情况并加以备注。()系统登录模块需求分析打开系统主界面进入登录界面经过系统管理后输入操作员账号及密码。系统通过数据库检查后判断出密码是否正确。如果不正确则提示密码错误并返回到系统主界面如果密码正确则登录成功进入功能界面。具体的程序流程如下图所示:点击链接员工工资管理页面系统登录界面输入操作员及密码检查密码错误数据库密码正确功能界面功能处理图登录系统流程图(数据库的设计((数据库的创建人事管理系统的数据库采用Access系统数据库的名称为“MISDB”。数据库MISDB中包含了张数据表。下面分别给出数据表概要说明和主要数据表的结构。)员工信息数据表:用于储存员工的基本信息。员工信息表见表所示:(表PERSON员工基本信息表字段字段名类型说明ID文本员工号PASSWD文本密码AHTHORITY文本用户权限NAME文本姓名SEX文本性别BIRTHDAY日期时间出生日期DEPARTMENT文本所在部门JOB文本职务EDULEVEL文本受教育水平SPECIALTY文本专业技能ADDRESS文本住址TEL文本电话EMAIL文本电子邮箱STATE文本当前状态REMARK备注备注()人事变更记录表:用来储存人事变更的员工以及变更时间、职务和退休情况。人事变更记录表见表所示:表PERSONNEL人事变更记录表字段字段名类型说明ID数字记录号PERSON文本员工号CHANGE文本变更代码日期时间RECORDTIME登记时间DESCRIPTION备注简介()人事变动代码表:存储人事变动的相关信息。人事变动代码表见表所示:表PERSONNELCHANGE人事变动代码表字段字段名称数据类型说明CODE文本代码DESCRIPTION文本描述()计数器表:存储计数的相关信息。计数器见表所示:表COUNTER计数器表字段字段名称数据类型说明ID文本计数器编号COUNTERVALUE数字计数值DESCRIPTION文本简介()员工职务信息表:存储员工代码和简介的相关信息。员工职务信息表见表所示:表JOB员工职务信息表字段字段名称数据类型说明CODE文本代码DESCRIPTION文本简介()教育程度代码表:存储员工教育程度代码和简介的相关信息。教育程度代码表见表所示:表EDULEVEL教育程度代码表字段字段名称数据类型说明CODE文本代码DESCRIPTION文本简介()部门表:存储部门编号、名称、部门负责人等相关信息。部门表见表所示:表DEPARTMENT部门表字段字段名称数据类型说明ID文本部门编号NAME文本部门名称MANAGER文本部门负责人INTRO备注简介((数据源的创建在ACESS中需要创建一个包括个数据表的MISDB数据库然后通过手动设置用户DSN设置连接数据库MISDB设置好后我们开始创建的MISBDmdb已经与用户的一个设定为MISDB的数据源对应起来可以直接对这个数据源进行操作。如下图所示:图数据库设置过程图系统功能的实现(主界面设计人事管理系统的主界面事一个菜单系统通过菜单系统中菜单相来实现认识管理的各菜单项。用VisualC的菜单编辑器可以很方便的创建菜单在菜单编辑器中打开的设计窗口如图所示:图菜单设计(系统登录模块系统用户登录模块主要用于完成对登录系统的用户的验证只有合法的用户才可以进入系统。运行用户登录模块其界面如图所示:图用户登录的运行界面((系统登录窗体的功能登录窗体是用户进入系统的钥匙只有合法的登录才是有效的登录。在本系统中预设了两种用户:超级用户和一般用户超级用户对一般用户有管理的功能。超级用户和一般用户对系统的员工信息都有编辑删除查询设置的功能。而超级用户对一般用户有权限的管理一般用户是超级用户授权了的用户它不能对其他用户进行干预它只能对修改自己的密码的功能。超级用户也可添加登录用户也可对其设置权限。((系统登录的代码设计登录对话框包括一个ComboBox、两个EditBox和两个Button。登录和取消的按及系统默认的ID。IDCANCEL采用系统默认的处钮的ID分别设置为IDOK和IDCANCEL理。IDOK的代码如下:voidCLoginDlg::OnOK(){BOOLbLogin=FALSECStringstrPasswd,strAuthorityUpdateData()更新数据变量if(!dbOpen(mstrDSN))return连接数据库CRecordsetrs(db)rsOpen(CRecordset::forwardOnly,"selectPASSWD,AUTHORITYfromPERSONwhereID='"mstrUser"'")if(!rsIsEOF()){rsGetFieldValue("PASSWD",strPasswd)rsGetFieldValue("AUTHORITY",strAuthority)if(strPasswd==mstrPasswd){bLogin=TRUE已连接}elseMessageBox("请重新输入密码。n注意大小写!","密码错误")}else{MessageBox("请确认用户名大小写是否正确!","无此用户")}rsClose()if(bLogin)EndDialog(IDOK)elsedbClose()关闭数据库}(添加新员工模块((添加新员工窗口的功能该窗口主要是添加新员工的基本信息包括员工号密码姓名性别职务部门教育水平等等基本信息所添加的信息将数据库表PERSON中体现出来。具体的窗口如下图所示:图添加新员工((添加新员工窗口的主要代码设计界面上“增加”按钮的代码如下:voidCAddView::OnAddBtnAdd(){CStringstr,strSQLintcounter用于计数CRecordsetrs(db)数据集UpdateData()更新数据if(mstrNameIsEmpty())姓名为空则返回{AfxMessageBox("姓名不能为空!")return}累加员工编号计数器rsOpen(CRecordset::forwardOnly,"selectCOUNTERVALUEfromCOUNTERwhereID='P'")rsGetFieldValue("COUNTERVALUE",str)sscanf(str,"d",counter)获取计数值rsClose()关闭数据集counter计数值加strFormat("d",counter)转换为字符串strSQL="updateCOUNTERsetCOUNTERVALUE="str"whereID='P'"设置SQL语句dbExecuteSQL(strSQL)执行增加员工个人信息记录CStringstrPasswd,strSex,strDepID,strJobID,strEduID判断生日是否为空if(mstrBirthdayIsEmpty())mstrBirthday=""缺省值加密密码strPasswd=CCrypt::Encrypt(mstrPasswd,)判断性别if(((CButton*)GetDlgItem(IDCADDRADIOMALE))>GetCheck())strSex="M"elsestrSex="F"得到部门IDrsOpen(CRecordset::forwardOnly,"selectIDfromDEPARTMENTwhereNAME='"mstrDepartment"'")rsGetFieldValue("ID",strDepID)rsClose()得到职务代码rsOpen(CRecordset::forwardOnly,"selectCODEfromJOBwhereDESCRIPTION='"mstrJob"'")rsGetFieldValue("CODE",strJobID)rsClose()得到受教育水平代码rsOpen(CRecordset::forwardOnly,"selectCODEfromEDULEVELwhereDESCRIPTION='"mstrEdulevel"'")rsGetFieldValue("CODE",strEduID)rsClose()写SQL语句strSQL="insertintoPERSON(ID,PASSWD,NAME,SEX,BIRTHDAY,DEPARTMENT,JOB,EDULEVEL,SPECIALTY,ADDRESS,TEL,EMAIL,REMARK)values('"mstrID"','"IDstrPasswd"','"PASSWDmstrName"','"NAMEstrSex"','"SEXmstrBirthday"','"BIRTHDAYstrDepID"','"DEPARTMENTstrJobID"','"JOBstrEduID"','"EDULEVELmstrSpecialty"','"SPECIALTYmstrAddress"','"ADDRESSmstrTel"','"TELmstrEmail"','"EMAILmstrMemo"')"REMARKdbExecuteSQL(strSQL)执行获取人事变动记录号并累加rsOpen(CRecordset::forwardOnly,"selectCOUNTERVALUEfromCOUNTERwhereID='C'")rsGetFieldValue("COUNTERVALUE",str)sscanf(str,"d",counter)获取计数值rsClose()关闭数据集counter计数值加strFormat("d",counter)转换为字符串strSQL="updateCOUNTERsetCOUNTERVALUE="str"whereID='C'"设置SQL语句dbExecuteSQL(strSQL)执行追加人事变动记录strFormat("d",counter)计数值转换为字符串CTimetime=CTime::GetCurrentTime()CStringstrNow=timeFormat("YmdH:M:S")写SQL语句strSQL="insertintoPERSONNEL(ID,PERSON,CHANGE,RECORDTIME,DESCRIPTION)values("str",'"IDmstrID"','"PERSON"""','"CHANGE加入公司代码strNow"','"RECORDTIME"加入公司')"DESCRIPTIONdbExecuteSQL(strSQL)重新初始化窗口Init()}(员工信息查询模块((员工信息查询窗口的功能本窗口主要是用来查询员工的基本信息、修改密码以及员工的基本信息输入员工号即可显示员工的基本信息编辑框中的信息还可以更改点击修改员工信息按钮即可修改员工的信息人事变动情况显示在下面的人事变动列表中。操作完成后可在数据库表PERSON中显示数据的改变。其操作界面如下图所示:图员工信息查询编辑((员工信息查询窗口的主要代码界面上的“员工信息编辑”按钮的代码如下:voidCSearchView::OnChangeSearchEdtId(){UpdateData()更新数据mcListDeleteAllItems()清空列表框CRecordsetrs(db)CStringstrDep,strJob,strEdulevel,strSexrsOpen(CRecordset::forwardOnly,"select*fromPERSONwhereID='"mstrID"'")if(!rsIsEOF())非空则获取员工信息{rsGetFieldValue("NAME",mstrName)名字rsGetFieldValue("DEPARTMENT",strDep)部门编号rsGetFieldValue("JOB",strJob)职务代码rsGetFieldValue("EDULEVEL",strEdulevel)受教育水平rsGetFieldValue("SPECIALTY",mstrSpecialty)专业rsGetFieldValue("REMARK",mstrMemo)备注rsGetFieldValue("BIRTHDAY",mstrBirthday)生日mstrBirthday=mstrBirthdayLeft()取日期部分rsGetFieldValue("ADDRESS",mstrAddress)住址rsGetFieldValue("TEL",mstrTel)电话rsGetFieldValue("EMAIL",mstrEmail)EmailrsGetFieldValue("SEX",strSex)性别rsClose()得到部门名称if(!strDepIsEmpty()){rsOpen(CRecordset::forwardOnly,"selectNAMEfromDEPARTMENTwhereID='"strDep"'")rsGetFieldValue("NAME",strDep)部门名称rsClose()}得到职务名称if(!strJobIsEmpty()){rsOpen(CRecordset::forwardOnly,"selectDESCRIPTIONfromJOBwhereCODE='"strJob"'")rsGetFieldValue("DESCRIPTION",strJob)职务名称rsClose()}得到教育水平描述if(!strEdulevelIsEmpty()){rsOpen(CRecordset::forwardOnly,"selectDESCRIPTIONfromEDULEVELwhereCODE='"strEdulevel"'")rsGetFieldValue("DESCRIPTION",strEdulevel)教育水平描述rsClose()}设置性别选框if(strSex=="M")((CButton*)GetDlgItem(IDCSEARCHRADIOMALE))>SetCheck(TRUE)else((CButton*)GetDlgItem(IDCSEARCHRADIOFEMALE))>SetCheck(TRUE)UpdateData(FALSE)更新数据mcDepartmentSelectString(,strDep)mcJobSelectString(,strJob)mcEdulevelSelectString(,strEdulevel)更新列表框数据inti=CStringstr,str,strrsOpen(CRecordset::forwardOnly,"selectID,RECORDTIME,DESCRIPTIONfromPERSONNELwherePERSON='"mstrID"'")while(!rsIsEOF()){得到数据rsGetFieldValue("ID",str)rsGetFieldValue("RECORDTIME",str)str=strLeft()只取日期rsGetFieldValue("DESCRIPTION",str)加入ListmcListInsertItem(i,"")mcListSetItemText(i,,str)mcListSetItemText(i,,str)mcListSetItemText(i,,str)irsMoveNext()移动记录}rsClose()mbExist=TRUE该员工存在}else否则清空员工信息{rsClose()mstrSpecialty=T("")mstrMemo=T("")mstrPasswd=T("")mstrName=T("")mstrBirthday=T("")mstrAddress=T("")mstrTel=T("")mstrEmail=T("")mcDepartmentSetCurSel()mcJobSetCurSel()mcEdulevelSetCurSel()UpdateData(FALSE)更新数据((CButton*)GetDlgItem(IDCSEARCHRADIOMALE))>SetCheck(FALSE)((CButton*)GetDlgItem(IDCSEARCHRADIOFEMALE))>SetCheck(FALSE)mbExist=FALSE该员工不存在}}voidCSearchView::OnSearchBtnChgpasswd()“修改密码”按钮{if(!mbExist)该员工号不存在{AfxMessageBox("该员工号不存在")return}UpdateData()更新数据CStringstr,strSQLstr=CCrypt::Encrypt(mstrPasswd,)加密strSQL="updatePERSONsetPASSWD='"str"'"写SQL语句dbExecuteSQL(strSQL)执行}voidCSearchView::OnSearchBtnChange()“员工信息编辑”按钮{if(!mbExist)该员工号不存在{AfxMessageBox("该员工号不存在")return}UpdateData()更新数据修改员工个人信息记录CStringstr,strSex,strDepID,strJobID,strEduID,strSQLCRecordsetrs(db)判断性别if(((CButton*)GetDlgItem(IDCSEARCHRADIOMALE))>GetCheck())strSex="M"elsestrSex="F"得到部门IDmcDepartmentGetWindowText(str)if(!strIsEmpty())不空{rsOpen(CRecordset::forwardOnly,"selectIDfromDEPARTMENTwhereNAME='"str"'")rsGetFieldValue("ID",strDepID)rsClose()}得到职务代码mcJobGetWindowText(str)if(!strIsEmpty())不空{rsOpen(CRecordset::forwardOnly,"selectCODEfromJOBwhereDESCRIPTION='"str"'")rsGetFieldValue("CODE",strJobID)rsClose()}得到受教育水平代码mcEdulevelGetWindowText(str)if(!strIsEmpty())不空{rsOpen(CRecordset::forwardOnly,"selectCODEfromEDULEVELwhereDESCRIPTION='"str"'")rsGetFieldValue("CODE",strEduID)rsClose()}写SQL语句strSQL="updatePERSONsetNAME='"mstrNameNAME"',SEX='"strSexSEX"',BIRTHDAY='"mstrBirthdayBIRTHDAY"',DEPARTMENT='"strDepIDDEPARTMENT"',JOB='"strJobIDJOB"',EDULEVEL='"strEduIDEDULEVEL"',SPECIALTY='"mstrSpecialtySPECIALTY"',ADDRESS='"mstrAddressADDRESS"',TEL='"mstrTelTEL"',EMAIL='"mstrEmailEMAIL"',REMARK='"mstrMemoREMARK"'whereID='"mstrID"'"条件dbExecuteSQL(strSQL)执行}(人事变动模块((人事变动功能的窗口设计本窗口是人事变动界面输入员工号更改变动情况职务变更或者辞职退休可以显示时间变动时间更改完成后将在数据库表PERSONNEL显示更改结果并显示更改时间和备注情况。窗口的界面如下图所示:图人事变更((人事变动窗口的主要代码当在员工号后面的编辑框中输入员工号时界面上的控件都发生一些相应的变化执行以下代码:voidCChangeView::OnChangeChangeEdtId(){UpdateData()更新数据CRecordsetrs(db)CStringstrDep,strJobrsOpen(CRecordset::forwardOnly,"selectNAME,DEPARTMENT,JOBfromPERSONwhereID='"mstrID"'")if(!rsIsEOF())非空则获取员工信息{rsGetFieldValue("NAME",mstrName)名字rsGetFieldValue("DEPARTMENT",strDep)部门编号rsGetFieldValue("JOB",strJob)职务代码rsClose()if(!strDepIsEmpty()){rsOpen(CRecordset::forwardOnly,"selectNAMEfromDEPARTMENTwhereID='"strDep"'")rsGetFieldValue("NAME",strDep)部门名称rsClose()}if(!strJobIsEmpty()){rsOpen(CRecordset::forwardOnly,"selectDESCRIPTIONfromJOBwhereCODE='"strJob"'")rsGetFieldValue("DESCRIPTION",strJob)职务名称rsClose()}UpdateData(FALSE)更新数据mcDepartmentSelectString(,strDep)mcJobSelectString(,strJob)mbExist=TRUE该员工存在}else否则清空员工信息{rsClose()mstrNameEmpty()mcDepartmentSetCurSel()mcJobSetCurSel()UpdateData(FALSE)更新数据mbExist=FALSE该员工不存在}“修改”按钮的时间代码如下:voidCChangeView::OnChangeBtnChange()"修改员工信息"按钮{CRecordsetrs(db)CStringstr,strSQLintcounterif(!mbExist)该员工号不存在{MessageBox("请确认员工号!","输入错误")return}UpdateData()更新数据获取人事变动记录号并累加rsOpen(CRecordset::forwardOnly,"selectCOUNTERVALUEfromCOUNTERwhereID='C'")rsGetFieldValue("COUNTERVALUE",str)sscanf(str,"d",counter)获取计数值rsClose()关闭数据集counter计数器加strFormat("d",counter)转换为字符串strSQL="updateCOUNTERsetCOUNTERVALUE="str"whereID='C'"设置SQL语句dbExecuteSQL(strSQL)执行更新员工信息CStringstrDepID,strJobID,strState,strChange得到部门IDmcDepartmentGetWindowText(str)rsOpen(CRecordset::forwardOnly,"selectIDfromDEPARTMENTwhereNAME='"str"'")rsGetFieldValue("ID",strDepID)rsClose()得到职务代码mcJobGetWindowText(str)rsOpen(CRecordset::forwardOnly,"selectCODEfromJOBwhereDESCRIPTION='"str"'")rsGetFieldValue("CODE",strJobID)rsClose()if(((CButton*)GetDlgItem(IDCCHANGERADIOFIRE))>GetCheck()){strState="F"strChange=""辞退}else{strState="T"strChange=""职务变动}strSQL="updatePERSONsetSTATE='"strState"',""DEPARTMENT='"strDepID"',""JOB='"strJobID"'"dbExecuteSQL(strSQL)执行追加人事变动记录strFormat("d",counter)计数值转换为字符串CStringstrNow=mTimeFormat("YmdH:M:S")写SQL语句strSQL="insertintoPERSONNEL(ID,PERSON,CHANGE,RECORDTIME,DESCRIPTION)values("str",'"IDmstrID"','"PERSONstrChange"','"CHANGEstrNow"','"RECORDTIMEmstrDescription"')"DESCRIPTIONdbExecuteSQL(strSQL)重新初始化窗口Init()}系统测试为了确保本系统能够正常运行需要做一次较全面的测试。(软件测试的目标()测试是为了发现程序中的错误而执行的过程()好的测试方案实际可能发现迄今为止尚为发现的错误的测试方案成功的测试是发现了至今为止尚未发现的错误测试。(测试实例()测试用户登录是否成功打开人事管理系统在“用户名”里填入RSK“密码”框里我们填入DEJLCP作为用户登录密码。填写完成点击“确定”按钮将会出现操作程序页面即该用户已经登录成功了。()测试其他用户是否能够登录打开人事管理系统登录页面输入任意密码点击“登录”按钮。将出现密码出错提示页面。如果密码输入错误会提示你“请重新输入密码注意大小写~”然后点“确定”返回人事管理系统登录页面。()测试新增加员工功能是否成功增加功能:在登录成功之后即可进入相应的管理页面点击“A”即出现新增加员工页面即可以增加新员工的个人信息资料同时员工号和密码已经给出。输入完毕之后点击“增加”按钮。()测试人事变动功能是否成功修改功能:在登录成功之后点击“C”在弹出的文本框在员工号里面输入想要查找的员工号马上显示员工的姓名部门和职务然后选择变动情况在备注中具体描述点击“修改”按钮即可以修改员工人事变动可以在表PERSONNEL和PERSON中查看变动情况的员工资料内容表示测试成功。()测试员工信息查询修改功能查询功能:在登录成功之后即可进入相应的管理页面点击“S”即出现员工信息查询修改页面在员工号中输入员工号即可显示出员工的基本信息在编辑框中还可以修改员工的基本信息修改完后点击“修改员工信息”按钮即可以在表PERSON中出现修改过的信息如果想要修改密码直接输入新密码点击修改密码就可修改成功。()用户退出系统的测试在操作已全部完成需要退出程序的时候在页面“S系统”下拉菜单的有一个“退出”的选项点击之后便可退出。点击断开连接就可以断开数据库图标显示为灰色。总结与展望(总结经过了两个多月的学习和实践我终于完成了《人事管理系统》的论文。从开始接到论文题目到系统的实现再到论文文章的完成每走一步对我来说都是新的尝试与挑战这也是我在大学期间独立完成的最大的项目。在这段时间里我学到了很多知识也和ODBC等相关技术很不了解的状态我开始了学习和试有很多感受从对VisualC验让自己头脑中模糊的概念逐渐清晰使自己非常稚嫩作品一步步完善起来每一次改进都是我学习的收获每一次试验的成功都会让我兴奋好一段时间。从中我也充分认识到了自学能力的重要性。(展望系统虽然已经完成了。但需要改进的地方还很多比如说界面界面太简单不够美观而且界面的排版也不是太好。系统的功能方面还有太多的欠缺不完善的地方还有好多。比如说可以再做一个招聘管理和奖惩管理以及考勤管理和工资管理这样的话在实际应用中会更好一些。在以后的学习中我会逐步完善该系统的功能。致谢在学位论文完稿之际我特别要感谢我的指导老师陈梅老师。她在我整个系统开发和论文撰写的整个过程中给了我很多建议和及时的帮助。从研究方向构造框架直到具体开发研究甚至语法等等细微的工作都一丝不苟、严格要求。在我今后的学习、工作甚至生活的方方面面都要把陈老师的这种精神贯彻始终从而不辜负陈老师对我的悉数关怀和耐心指导~此外我还要感谢与我一起在机房学习VisualC编程软件的同学和朋友在他们的帮助与共同探讨下我解决了许多难题也使我的论文能够顺利完成。感谢他们在我学习和生活上的帮助。真诚的感谢所有帮助与支持过我的人~向你们说声:谢谢~参考文献:姜乃春潍坊学院人事管理系统的设计与实现D大连:大连理工大学:李潇企业人事管理系统的设计D重庆:重庆工商大学:页码张友祥肖四友李超VisualC实验与案例分析M北京:科学出版社:董未名杨柳汤筠趣味程序导VisualCM北京:清华大学出版社:谭浩强C程序设计M北京:清华大学出版社:黄维通VisualC面向对象与可视化程序设计M北京:清华大学出版社:范辉VisualC程序设计简明教程M北京:高等教育初版设:郑雪明VisualC基础类库参考大全M北京:学苑出版社:康博创作社VisualC高级编程M北京:清华大学出版社:周发精通VisualC图像编程M北京:电子工业出版社:齐舒创作室VisualC用户界面制作技术与应用实例M北京:中国水利水电出版社:

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/38

基于vc++的人事管理系统论文

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利