收藏 分销(赏)

人事档案管理系统(VC--中基于MFC和ADO)(含源文件).doc

上传人:鼓*** 文档编号:9899970 上传时间:2025-04-12 格式:DOC 页数:41 大小:2.29MB
下载 相关 举报
人事档案管理系统(VC--中基于MFC和ADO)(含源文件).doc_第1页
第1页 / 共41页
人事档案管理系统(VC--中基于MFC和ADO)(含源文件).doc_第2页
第2页 / 共41页
点击查看更多>>
资源描述
人事档案管理系统的设计与实现 人事档案管理系统的设计与实现 41 摘 要:企业管理信息化是现代企业发展的关键技术之一,人力资源管理是企业竞争战略中的一个重要部分, 在人力资源管理的过程中,人事档案管理是人事信息管理系统中的重要部分。本文利用VC++作为开发工具,以Access为后台数据库,设计、开发了一个人事档案管理系统。本系统能够实现人事档案信息的编辑录入、查询、统计等功能,为企业实现其经营目标提供了重要保证,对增强其企业竞争力,提高经济效益起着一定的作用。本系统也对其它公司的人事档案管理方面具有借鉴作用。 关键词: 人事档案管理系统;数据库;设计与开发;VC++ 目 录 1引言 3 2系统采用的相关技术简介 4 2.1 VC++技术(主要MFC方式) 4 2.2 Access数据库 5 2.3 ADO数据库开发技术 5 2.3.1 引入ADO库 5 2.3.2 ADO与数据库的连接 6 2.4 系统运行环境支持 6 3需求分析 7 3.1员工档案信息管理流程图 7 3.2数据字典 8 4概要设计 9 4.1 系统层次模块 10 4.2人事档案模块图 10 4.3其它模块图 11 5数据库设计 11 5.1 E-R图 11 5.2逻辑结构设计 12 6详细设计 16 6.1主控平台的实现 16 6.2 管理员登陆模块设计 18 6.3 人事档案管理子模块设计 21 6.3.1人事档案录入与编辑子模块的实现 21 6.3.2人事档案统计模块的实现 24 6.3.3人事档案查询模块的实现 31 7 调试分析中遇到的问题是 34 8 用户使用说明 35 结束语 38 参考文献 39 1引言 1.1设计背景 XXX公司目前使用的档案系统为手工档案系统,手工档案系统易出错、修改更新程序烦琐、浏览不方便、保密性安全性不够高、效率低、时效性差、不能及时为决策者提供管理所需的信息,还易造成资源浪费,对财务、人事部门的工作困难加大、易混乱,无法进行统一现代化的科学高效管理。对于一个志力于集团化、多元化的远景发展战略的企业,标准、规范化管理是基本的要求,而一个集档案、基础数据管理为一体的管理系统的开发已迫在眉睫,以实现企业管理的数字化、信息化,提高人事资源管理的效率,为实施企业科学化、正规化管理的提供强有力的硬件支持,提高企业要市场的竞争能力。 1.2国内人事档案管理系统研究现状 目前,国内人事档案管理信息系统的开发技术基本成熟,主要原因在于人事档案管理系统本身具有业务清晰、数据处理规范等许多优点,为其实现计算机信息化提供了必要的优越条件。国内近90%以上的应用计算机及开发管理信息系统的公司和单位均开发并运行了人事档案管理信息系统,人事档案管理信息系统的开发与应用在国内已经进入了相对成熟期; 国内市场上的人事档案管理系统主要有:信创、锐达、八百客、嘉扬Kayang等人事档案管理系统。信创通用人事管理系统, 功能多、操作方便、通用性强,缺点是不够专业;锐达、八百客、嘉扬Kayang人事管理系统专业程度高、功能完备,缺点是操作繁琐复杂、且价格高。 1.3设计、开发的目的和意义 针对XXX公司目前的情况以及国内外企业人事管理系统发展现状,决定设计设计一个针对本公司的,专业、实用性强、操作简便的企业人事档案信息管理系统,该系统为企业提供全面的人事档案管理解决方案提供一个以人为中心,各类人员之间、员工与公司之间的互动式人力资源管理平台。具体目标如下: 1.提高企业人事档案管理的效率,节约相关的管理成本,增强人事档案管理的安全性。 2.为企业建立规划化、人性化、实时互动化人事档案管理机制。 3.满足企业战略层、管理层、人事业务操作层和企业全体员工的不同层次和不同方面的需要。 4.为企业将来的整体信息化建设提供必要的支持。 开发的系统将改变过去传统的人事档案保管室式的人事管理,使用计算机对人事劳资信息进行管理,具有检索迅速,查找方便,可靠性高,存储量大,保密性好成本低等优点,能够极大地提高人事资源管理的效率,也是企业科学化、正规化管理的重要条件。为实施企业集团化、多元化的远景发展战略提供有力保障。 2系统采用的相关技术简介 2.1 VC++技术(主要MFC方式) VC++是微软公司开发Windows平台上的一个C++编程环境,VC基于C,C++语言,主要由是MFC组成,是与系统联系非常紧密的编程工具,它兼有高级,和低级语言的双重性,功能强大,灵活,执行效率高,几乎可说VC在 Windows平台无所不能。 VC++应用程序的开发主要有两种模式,一种是WIN API方式,另一种则是MFC方式,传统的WIN API开发方式比较繁琐,而MFC则是对WIN API再次封装,所以MFC相对于WIN API开发更具备效率优势。 VC适用范围 1、 VC主要是针对Windows系统,适合一些系统级的开发,可以方便实现一些底层的调用。在VC里边嵌入汇编语言很简单。 2、 VC主要用在驱动程序开发 3、 VC执行效率高,当对系统性能要求很高的时候,可用VC开发。 4、 VC主要适用于游戏开发 5、 VC多用于单片机,工业控制等软件开发,如直接对I/O地址操作,就要用C++。 6、 VC适用开发高效,短小,轻量级的COM组件,DLL。比如WEB上的控件。 7、 VC可以开发优秀的基于通信的程序。 8、 VC可以开发高效灵活的文件操作程序。 9、 VC可以开发灵活高效的数据库操作程序。 10、VC在多线程、网络通信、分布应用方面,VC++有不可比拟的优势。 本系统选用目前业界成熟,安全,稳定,流行的VC++作为技术支撑,克服VF安全性不够高,其它技术相对不太完善和成熟的缺点,在公司运作中,人事信息复杂多变要求系统的稳定性高, 而这更体现出其优越性。 2.2 Access数据库 Microsoft Office Access(前名 Microsoft Access)是由微软发布的关联式数据库管理系统。微软公司推出的Access是基于Windows的桌面关系数据库管理系统(RDBMS,即Relational Database Management System),是Office系列应用软件之一。它提供了表、查询、窗体、报表、页、宏、模块7种用来建立数据库系统的对象;提供了多种向导、生成器、模板,把数据存储、数据查询、界面设计、报表生成等操作规范化;为建立功能完善的数据库管理系统提供了方便,也使得普通管理员不必编写代码,就可以完成大部分数据管理的任务。 Access能够存取 Access/Jet、Microsoft SQL Server、Oracle(甲骨文软件公司),或者任何 ODBC 兼容数据库内的资料。熟练的软件设计师和资料分析师利用它来开发应用软件,而一些不熟练的程序员和非程序员的"进阶用户"则能使用它来开发简单的应用软件。 2.3 ADO数据库开发技术 ADO(ActiveX Data Object) 是Microsoft 的数据库应用程序开发的新接口,是建立在OLE DB 之上的高级数据库访问技术。ADO技术基于COM,具有 COM组件的诸多优点,可以用来构造可复用应用框架,被多种语言支持,能够访问关系数据库、非关系数据库以及所有的文件系统。另外,ADO还支持各种客户/ 服务器模式与基于Web 的数据操作,具有远程数据服务RDS(Remote Data Service)的特性,是远程数据存取的发展方向。 2.3.1 引入ADO库 在Visual C++中,使用 ADO开发数据库之前需要引入ADO库。可以在 StdAfx.h 文件末尾处引入ADO库文件,方法如下。 #import "c:\Program Files\common files\system\ado\msado15.dll" no_namespace \ rename("EOF","adoEOF"); rename("BOF","adoBOF"); 使用预处理指令 import 使程序在编译过程中引入ADO 动态库(msado15.dll) 。no_namespace 表明不使用命令空间。rename("EOF", "adoEOF")表明把ADO中用到的EOF改名为adoEOF,防止产生命名冲突。利用应用程序向导进行ADO数据库开发的时候,需要在程序向导的第二步,选择Automation 选项,使应用程序能够支持自动化。 2.3.2 ADO与数据库的连接 ADO Data控件属性Connection String的属性值设置为:Provider= Microsoft.Jet.OLEDB.4.0; Data Source=D:\VC++\RSDAGLDB.mdb(注意:此路径为数据库文件所放置的路径,也行时注意修改后再运行系统);Persist Security Info=False; 这些控件属性设置好后,在运行人事档案管理系统时就可以直接调用数据库表,来实现员工信息的录入、修改、查询、统计操作。 2.4 系统运行环境支持 硬件环境:处理器Inter Pentium 4 以上,内存1G,硬盘160G,显卡SVGA显示适配器。 操作系统:Windows2000/xp,数据库Microsoft Office Access 3需求分析 通过对XXX公司业务流程调查分析得出: 1.新员工进入,由店长批准的“调入人员通知”连同“职工登记卡”由调入人员一起交给了人事科,人事科将“职工登记卡”的信息登记入“职工档案”,其数据项目有:职工代码,性别,出生年月,政治面貌,职务,职称,最高学历,固定工资,入职日期,所在部门“调入人员通知”存档,为统计调入人员所用。 2.由店长批准的“人员信息变更通知”交人事科,人事科据此将其在“职工档案”中的信息进行修改 3.由店长批准的“职工工资变动通知”交人事科,人事科据此修改“职工档案”中的职工固定工资数据。 4.本公司职工凭各大专院校颁发的“学历证明”交人事科,人事科经查验属实后,据此修改“职工档案”中的最高学历数据。 5.随时都有本公司各级管理人员来人事科查看职工档案,离退休人员档案,调出人员档案信息。 6.年末,人事科需编制“职工统计表”,“职工文化程度统计表”,“职工工资级别统计表”交给店长。 3.1员工档案信息管理流程图 员工档案信息录入 人事档案管理 形成人事档案数据库 基础数据录入 基础数据管理 形成基础数据库 统 计 报表 图1 员工档案信息的录入和统计、报表流程图 档案查询 P2 人 事科 建立档案 P1 人 事科 D1 员工 档案 档案统计 表 P3 人 事科 员工培训记录 P4 培训科 图2 员工档案的建立和修改流程图 3.2数据字典 数据字典是对数据流程图中所有名字的定义及描述,并按特定格式予以记录,以备随时查询和修改。 1.数据存储字典: 管理员信息=管理员名+口令 部门编码表 (bm_bm) =部门编码部门名 文化程度编码表 (bm_wh) =文化程度编码+文化程度名称 职称编码表(bm_zc) =职称编码职称名称主要成员与社会关系表(cygx)=职工编码+与本人关系+姓名+从事何种工作 档案登记表(m_dadj)=职工编码+姓名+性别+民族+出生+年月+婚姻状况+文化程编码康状况+政治面貌+职称编码+籍贯+身份证号码+毕业学校+专业或特长+户口所在地+户口性质+现住址+职务+工种名+何时技术培训+何时奖励和处分+需要说明问题+填表人签名+填表日期+公司审查意见+审查日期+人员性质+入厂时间+人员状态+备注+部门编码 处理关系:P1,P2,P3 2.数据字典处理过程: (1)P1 名称:档案信息的录入与编辑 编号:P1 输入:档案登记表 输出:D1 处理:以适当的方式输入员工档案中的数据项 (2)P2 名称:档案信息的查询 编号:P2 输入:档案登记表 输出:人事科 处理:以姓名、职工编码的方式对员工档案中的数据项进行查询 (3)P3 名称:档案信息的统计 编号:P3 输入:档案登记表 输出:人事科 处理:以文化程度、总人数、性别、部门编码、职称编码的方式对员工档案中的数据项进行统计 (4)P4 名称:员工历史记录 编号:P4 输入:员工培训情况 输出:培训处 处理:以适当的方式输出员工培训情况 4概要设计 基于系统需求分析,该系统需要实现以下基本功能: l 管理员管理:管理系统操作人员,设置操作人员口令和权限。在满足不同系统管理员的操作需求的基础上,提高系统的安全性。 l 基本数据管理:维护人事管理相关的一些基础数据。主要包括以下功能:管理员信息,档案登记表,职称编码表,部门编码表,文化程度编码表的设置。 l 人事档案管理:完成企业对员工档案员工人工档案(包括员工基本档案和在职信息)的管理及相关操作。管理员进行员工档案信息录入及更改,其中包括职工编码、姓名、性别、民族、出生、年月、婚姻状况、文化程编码康状况、政治面貌、职称编码、籍贯、身份证号码、毕业学校、专业或特长、户口所在地、户口性质、现住址、职务、工种名、何时技术培训、何时奖励和处分、需要说明问题、填表人签名、填表日期、公司审查意见、审查日期、人员性质、入厂时间、人员状态、备注、部门编码。管理员可以通过该模块为单位建立一个比较完整的人事档案系统,同时可以对这些员工档案信息进行新增、删除、修改操作,同时可以进行浏览和查询的操作。 l 人事变动管理:对于人事上的变动调整进行管理,对人员档案的信息进行更新(如:员工职务、员工职称、员工性质等的变动)。 l 数据库管理:对现有的数据进行管理,包括数据备份和恢复,以方便管理员对数据库的管理和维护工作,提高系统的数据安全性。 4.1 系统层次模块 该企业人事管理信息系统可分为五个模块:权限验证、管理员管理、基础数据管理、人事档案管理和数据库管理,如图4—2—1所示。 权限验证 用户管理 基础数据设置 人事档案管理 数据库管理 人事档案管理信息系统 图3 人事管理信息系统主模块图 人事档案录入 人事档案修改 人事档案删除 人事档案浏览 人事档案查询 人事档案统计 人事档案管理 4.2人事档案模块图 4.3其它模块图 基础数据包括: 管理员信息,档案登记表,职称编码表,部门编码表,文化程度编码表的设置。 基础数据设置 管理员信息 档案登记表 文化程度编码表 职称、部门编码表 图 4 基础数据设置模块图 5数据库设计 5.1 E-R图 本系统根据需求分析得出DFD画出设计实体有:管理员实体、数据库实体、基本用户信息实体、个人档案信息实体。 实体间关系E—R图,如图 查询 录入修改限公司 有 记载 存入 管理员 用户信息 管理员 数据库 纸质个人档案 1 1 1 1 N N 拥有 修改限公司 有 记载 存入 管理员 用户信息 普通用户 数据库 纸质个人档案 1 1 1 1 N N N N 图5 E-R图 用户 用户名 密码 员工信息 编号 备注 姓名 年龄 民族 身份证号码 职称 职工类型 部门 地址 电话 图6 属性图 5.2逻辑结构设计 根据系统功能设计的要求以及功能模块的划分,对于本系统的数据库,可以列出以下数据项和数据结构: 1.名称:主要成员与社会关系表 表名称标识:cygx 数据来源:主要成员与社会关系设置模块进行录入 表1主要成员与社会关系表 序号 字段名 说明 类型 长度 是否为空 是否主键值 相关表 备注 1 zgbm 职工编码 VC2 6 Not null Key&Foreign key m_dadj 2 Brgx 与本人关系 VC2 10 null 3 xm 姓名 VC2 10 Null 4 hzgz 从事何种工作 VC2 60 Null 6 autoid 主键 VC2 2 key 2.名称:职称编码表 表名称标识:bm_zc 数据来源:职称编码设置模块进行录入 表2 职称编码表 序号 字段名 说明 类型 长度 是否为空 是否键值 相关表 备注 1 zcbm 职称编码 NUMBER 2 Not null Key 2 zcmc 职称名称 VC2 20 Not null 3.名称:部门编码表 表名称标识:bm_bm 数据来源:部门编码设置模块进行录入 表3 部门编码表 序号 字段名 说明 类型 长度 是否为空 是否键值 相关表 备注 1 bmbm 部门编码41123456789035678 VC2 4 Not null Key 2 bmm 部门名 VC2 60 Null 4.名称:文化程度编码表 表名称标识:bm_wh 数据来源:文化程度编码设置模块进行录入 表4文化程度编码表 序号 字段名 说明 类型 长度 是否为空 是否键值 相关表 备注 1 whbm 文化程度编码 NUMBER 2 Not null Key 2 whcd 文化程度名称 VC2 16 Not null 5.名称:档案登记表 表名称标识:m_dadj 数据来源:档案登记表模块进行录入 表5档案登记表 序号 字段名 说明 类型 长度 是否为空 是否主键 值 相关表 备注 1 zgbm 职工编码 VC2 6 Not null key 2 xm 姓名 VC2 12 Not null 3 xb 性别 VC2 1 null 4 mz 民族 VC2 18 null 5 csny 出生年月 Date 8 null 6 hyzk 婚姻状况 VC2 1 null 7 whcd 文化程度编码 NUMBER 2 null bm_wh 8 jkzk 健康状况 VC2 10 null 9 zzmm 政治面貌 VC2 2 null 10 zcbm 职称编码 NUMBER 2 null bm_zc 11 jg 籍贯 VC2 60 null 12 sfzh 身份证号码 VC2 20 null 13 byxx 毕业学校 VC2 40 null 14 zytc 专业或特长 VC2 40 null 15 hkszd 户口所在地 VC2 60 null 16 hkxz 户口性质 VC2 20 null 17 xzz 现住址 VC2 100 null 18 zw 职务 NUMBER 2 null 19 gzm 工种名 VC2 2 null 20 jspx 何时技术培训 VC2 400 null 21 jlcf 何时奖励和处分 VC2 400 null 22 smwt 需要说明问题 VC2 200 null 23 tbrqm 填表人签名 VC2 10 null 24 tbrq 填表日期 date null 25 gsyj 公司审查意见 VC2 200 null 26 scrq 审查日期 date null 27 ryxz 人员性质 C 1 null 28 rcsj 入厂时间 date 29 ryzt 人员状态 C 1 null 30 bz 备注 VC2 40 null 31 bmbm 部门编码 VC2 4 null bm_bm 图7 主键图 6详细设计 人事档案管理系统的总体功能是能实现人事档案信息的编辑录入、查询、统计等功能内容。具体的功能就是能进行代码表及个人档案信息的录入与修改,同时能进行上一条及下一条档案信息的显示;能实现按姓名或职工号查询个人档案信息,按照档案表的形式显示;能实现按照文化程度、性别、职称进行档案简单信息的列表显示与统计相关人数。 图 8 主控平台界面 6.1主控平台的实现 1.主体框架:使用MFC AppWizard 创建一个单文档结构的应用程序工程,建立起系统主体框架,生成应用程序类(CAdoApp)、文档类(CAdoDoc)、视图类(CAdoView)、主体框架类(CmainFram)。 2.背景图: 通过修改系统对话框类Paint事件处理函数OnPaint()来实现加载背景图,其具体代码如下: void CAdoDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // device context for painting SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0); // Center icon in client rectangle int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // Draw the icon dc.DrawIcon(x, y, m_hIcon); } else { CDialog::OnPaint(); } } // The system calls this to obtain the cursor to display while the user drags // the minimized window. HCURSOR CAdoDlg::OnQueryDragIcon() { return (HCURSOR) m_hIcon; } 6.2 管理员登陆模块设计 根据需求分析和总体设计,此模块主要是根据管理员输入管理员名和口令,验证管理员身份并决定其操作权限。 1.权限验证IPO图 输入:管理员名和口令 处理:(1)管理员登陆对话框启动。 (2)管理员输入管理员名和口令。 (5)如果管理员名和密码错误,进行提示。 图 9 登陆界面图 3.权限验证模块的实现 根据权限验证的IPO图,通过定义CLoginDLg类来实现权限验证模块的功能,下面介绍CLoginDLg类的设计与实现。 管理员权限验证 处理过程:从数据库中查找是否与管理员输入的管理员名和口令完全匹配的记录,如果有同根据数据库中的记录为该管理员分配权限,如果不存在则提示登录错误信息。 主要代码: void CAdoDlg::OnOK() { // TODO: Add extra validation here //((CEdit*)GetDlgItem(IDC_PassWord))->SetWindowText("123456");//////////调试用 UpdateData(TRUE); //管理员名是否为空判断 m_User.TrimLeft(); m_User.TrimRight(); if(m_User.GetLength()<=0) { AfxMessageBox("请输入管理员名!初始管理员为:user",MB_ICONEXCLAMATION ) ; ((CEdit*)GetDlgItem(IDC_User))->SetFocus(); return; } if(m_User.Compare("1")!=0) { AfxMessageBox("管理员名不正确,请重新输入!初始名为:user",MB_ICONEXCLAMATION ) ; ((CEdit*)GetDlgItem(IDC_PassWord))->SetWindowText(""); ((CEdit*)GetDlgItem(IDC_PassWord))->SetFocus(); return; }else { //用密码是否为空判断 m_PassWord.TrimLeft(); m_PassWord.TrimRight(); if(m_PassWord.GetLength()<=0) { AfxMessageBox("请输入管理员密码!!",MB_ICONEXCLAMATION ) ; ((CEdit*)GetDlgItem(IDC_PassWord))->SetFocus(); return; } //密码判断 if(m_PassWord.Compare("1")!=0) { AfxMessageBox("管理员密码不正确,请重新输入!初始密码为:123456",MB_ICONEXCLAMATION ) ; ((CEdit*)GetDlgItem(IDC_PassWord))->SetWindowText(""); ((CEdit*)GetDlgItem(IDC_PassWord))->SetFocus(); }else { //密码通过调用主界面 m_ZhuJieMian.DoModal(); Invalidate(); return; } } } 6.3 人事档案管理子模块设计 根据需求分析和总体设计,人事档案管理系统的总体功能是能实现人事档案信息的编辑录入、查询、统计等功能内容。具体的功能就是能进行代码表及个人档案信息的录入与修改,同时能进行上一条及下一条档案信息的显示;能实现按姓名或职工号查询个人档案信息,按照档案表的形式显示;能实现按照文化程度、性别、职称进行档案简单信息的列表显示与统计相关人数。 人事档案管理模块是本系统的主要核心功能之一,主要划分成三个子模块:人事档案录入与编辑子模块、人事档案查询子模块、人事档案统计子模块。????2013/1/10 ????? 6.3.1人事档案录入与编辑子模块的实现 人事档案录入与编辑子模块功能:能进行管理员信息、档案登记表、职称编码表、部门编码表、文化程度编码表及个人档案信息的录入与修改,同时能进行上一条及下一条档案信息的显示。 图 10 人事档案录入与编辑子模块图 通过定义CbrowseDlg类来实现该子模块的主体功能,主要是员工基本档案登记处的浏览添加、修改和删除。另外,通过CbaseIfoDlg来实现基本档案属性页功能,通过CfmilyDlg来实现家庭成员属性页的功能,通过ChistoyryDLg来实现工作经历属性页功能,通过ChomorDLg来实现奖惩纪录属性页功能,通过CqualificationDlg来实现职称评定属性页功能,以及通过CtrainDLg来实现培训纪录属性页功能。 “录入与编辑”选项主要代码: void ZhuJieMian::OnLuRuBianJi() { // TODO: Add your control notification handler code here radio=8; m_cXuanZe.ResetContent(); m_cXuanZe.Clear(); AfxMessageBox("请点击下面的确定,然后再点击主界面的'确定'按钮转到'个人档案信息录入界面'",MB_ICONEXCLAMATION ) ; m_TiShi.Empty(); m_TiShi.Insert(0," "); UpdateData(FALSE); } BOOL ZhuJieMian::OnInitDialog() { CDialog::OnInitDialog(); // TODO: Add extra initialization here return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } 选择“录入与编辑”选项后点击确定后的直接跳出如图10所示的画面。 其详细代码如下: void ZhuJieMian::OnQueDing() { // TODO: Add your control notification handler code here WenHuaDlg.fun_radio(radio); if(radio==0)MessageBox("GG"); switch (radio) { case 8 :{ m_index=m_cXuanZe.GetCurSel(); UpdateData(TRUE); //WenHuaDlg.reindex(m_index);///传递参数 WenHuaDlg.DoModal(); Invalidate(); }break; default:{ m_index=m_cXuanZe.GetCurSel(); WenHuaDlg.reindex(m_index);///传递参数 WenHuaDlg.DoModal(); Invalidate(); } break; } 6.3.2人事档案统计模块的实现 功能:根据管理员指定的统计条件从数据库中读取数据并汇总,并显示要列表中,输出员工基本档案信息。能实现按照文化程度、性别、总人数、职称编码、部门编码五个统计条件进行档案简单信息的列表显示与统计。 通过定义ZhuJieMian类来实现该子模块的主体功能,相关记录集类可以通过ClassWizard根据数据库表结构自动创建。档案统计处理过程:首先根据查询条件构造SQL语句,然后从数据库查询满足条件的记录,并将统计后的信息显示在员工列表中。 核心代码: void CSearchDlg::OnButtonSearch() { BOOL WenHuaJieMian::OnInitDialog() { CDialog::OnInitDialog(); CString sql1; FROM m_dadj WHERE whcd='初中/高中/大学/研究生/'; //根据查询条件构造SQL语句///////////// /////////////// //否则按所填信息查询(性别,民族,职位等) } 1 按文化程度统计 首先,进入登陆界面后,输入管理员账号和口令后进入主界面,在统计模块选择“文化程度”选项,然后在右面的下拉菜单选择所要查询的文化程度,然后点击确定按钮后,即可显示查询结果。其具体的界面如图11所示。 (a)选中“文化程度”选项 (b)选择所要统计的文化程度(研究生) (c)统计结果 图 11按文化程度统计界面 核心代码: void ZhuJieMian::OnWenHua() { // TODO: Add your control notification handler code here radio=1; m_cXuanZe.ResetContent(); m_cXuanZe.InsertString(-1,"初中"); m_cXuanZe.InsertString(-1,"高中"); m_cXuanZe.InsertString(-1,"大学"); m_cXuanZe.InsertString(-1,"研究生"); m_cXuanZe.Clear(); AfxMessageBox("请选择文化程度",MB_ICONEXCLAMATION ) ; m_TiShi.Empty(); m_TiShi.Insert(0,"请选择文化程度"); UpdateData(FALSE); } void ZhuJieMian::OnCloseupCOMBOXuanZe() { // TODO: Add your control notification handler code here } void ZhuJieMian::OnRenShu() { // TODO: Add your control notification handler code here radio=2; m_cXuanZe.ResetContent(); CString str_zongrenshu;/////////////////////////wei yong m_cXuanZe.Clear(); } 2按性别统计 在主控界面中的统计模块中选择“性别”选项,然后在右面的下拉菜单选择所要查询的性别,然后点击确定按钮后,即可显示查询结果。其具体的界面如图12所示。 (a)选中“性别”选项 (b)选择所要统计的性别(男) (c)统计结果 图 12按性别统计界面 核心代码: void ZhuJieMian::OnXingBie() { // TODO: Add your co
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服