《MFC》综合开发案例分析1_第1页
《MFC》综合开发案例分析1_第2页
《MFC》综合开发案例分析1_第3页
免费预览已结束,剩余22页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、、八前言21 世纪最激烈的竞争当属人才的竞争,一个具有多学科知识的复合性人才 或许是一个企业发展壮大所不可或缺的重要因素。 因此,企业人事管理工作的好 坏不但可以直接影响到企业的人力资源管理,而且会间接的影响到企业整体管 理。随着社会的发展, 科技的进步,计算机的应用在社会各领域中都得到了普及, 越来越多的人都感受到利用计算机进行各类管理的科学和便捷; 认识到管理信息 系统对于管理工作的重要性。 利用计算机对企业人事进行管理是必然趋势, 人事 管理系统是企业管理工作中不可缺少的。 所以在这次课程设计中, 我选择开发人 事管理系统。人事管理系统的功能主要有增加记录,删除记录,筛选记录,排序 记录

2、。这就要求它应该能够为用户提供有好美观的窗口界面、 充足可靠的信息数 据、简单方便的维护手段和灵活多变的查询方式以及快捷而准确的查询结果。 所 以,对于人事管理系统的设计主要包括数据库的建立、 维护以及应用程序的开发 两个方面。 对于前者而言要求建立起数据一致性及完整性强、 数据安全性好的数 据库。对于后者而言则要求具备应用程序功能全 , 易使用等,运行稳定等特点。 因此,拟选用的开发软件是 Microsoft 公司出品的 Visual C+6.0 MFC 平台 进行系统的开发。目录1 课题综述 11.1 人事管理信息系统来源 11.2 人事管理系统的意义 11.3 预期目标 21.4 面对的

3、问题 21.5 需解决的关键技术等 22 人事管理系统分析 22.1 涉及的基础知识 32.2 解决问题的基本思路 112.3 总体方案 112.4 功能模块框图 113 人事管理系统设计 123.1 部署连接(图) 123.2 算法描述 123.3 详细流程图 14154 代码编写4.1 增加记录的代码 154.2 删除记录的代码 164.3 排序记录的代码 174.4 筛选记录的代码 17185 运行与测试1 课题综述人事管理系统是一个数据库应用系统,员工的所有信息都是保存在数据库 中。本案例将主要实现如下一些功能:增加记录功能、修改记录功能、删除记录 功能以及刷新记录功能等等。 作为人事

4、管理系统, 我们将它作为一个数据库应用 系统来进行开发制作。 数据库应用系统开发的前提是首先开发数据库和数据库中 的数据表, 数据库和数据表是数据库应用系统中进行不可缺少的工具, 一切的开 发工作都是围绕数据库和数据表的操作进行的, 数据表可被 VC+ 的数据工程和 其他工程进行引用。1.1 人事管理信息系统来源随着计算机技术的飞速发展, 计算机在企业管理中应用的普及, 利用计算机 实现企业人事管理势在必行。 对于大中型企业来说, 利用计算机支持企业高效率 完成劳动人事管理的日常事务, 是适应现代企业制度要求、 推动企业劳动人事管 理走向科学化、 规范化的必要条件; 计算机管理所无法比拟的优点

5、检索迅速、 查 找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。1.2 人事管理系统的意义管理信息系统 (Management Information System ,以下简称为 MIS) ,是 一个将企业生产和经营中的各种内、外部信息进行收集、加工、整理、传递,并 有序地存储, 以用于管理和决策, 是企业增效的信息系统。 它能够使企业更加及 时、准确、全面、详实的了解所需的信息数据。同时管理信息系统对各种信息数 据的进一步加工,能使企业领导层的生产、经营、管理决策依据更加充分,更具 有合理性、 科学性;从而为社会创造出更多的价值, 为企业的发展创造出更多的 机会。对于企、事业单位的人

6、事管理系统来说,不需要大型的数据库系统。只需要一个操作方便, 功能实用, 能满足本中心对数据的管理及需求的系统, 能够提 高人事管理的效率。1.3 预期目标我们的目标就是在于开发一个功能实用、 操作方便, 简单明了的人事管理系 统.能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按条 件进行查询, 基本满足人事日常业务的需要。 本人独立完成了此课题的研究与开 发,包括调研、分析、设计、编码、测试、文档编写等内容。1.4 面对的问题这次课题主要的问题就是数据库的结构设计。 这里所说的数据库结构设计是 指数据库中各个表结构的设计, 包括信息保存在哪些表格中, 各个表的结构如何 以及各

7、个表之间的关系。 人事管理虽然只有一个数据表, 但仍然要进行数据链接, 这其中也就带来了各成员之间的绑定问题。1.5 需解决的关键技术等人事管理系统需解决的关键技术是与数据源进行链接, Microsoft Access 的使用以及 MFC 的使用等。2 人事管理系统分析人事管理系统主要进行对企业的人员管理, 使企业的管理更加科学化、 合理 化、制度化、规范化;为企业的管理水平跨上新台阶;为企业持续、健康、稳定 的发展奠定坚实基础。进行人事管理系统需要 Windows2000 以上的操作系统 及 Visual C+6.0 语言环境。2.1涉及的基础知识2.1.1 MFC 编程1)MFC简介MFC

8、 是 Microsoft Foundation Class Library(微软基础类库)的缩写形 式。它是C+的类集,提供面向对象框架,利用这个框架,程序员可以轻松地 创建Windows应用程序。MFC还提供应用程序开发模型。此模型被称为文档 /视图模型。文档/视图 模型是将应用程序数据与用户界面元素分离的一种应用程序方法。 它允许这两部 分程序独立存在,这样一来,程序员在更改其中一部分时,就无须大量更改另一 部分。MFC为程序员提供了更友好的C+类,使之更易于使用。在很多情况下, MFC在幕后执行一些复杂操作,而向开发人员提供更简单的编程界面,并可以 掩盖Windows API 的一些缺点

9、。2)AppWizard 向导开发应用程序图2-0 New对话框从File菜单中单击New(新建),显示New对话框的Projects(项目)选项卡, 其中列出了 Visual C+中的向导。选择标有 MFC AppWizard(exe) 的图标,如图2-0所示,为项目输入一个名字。在 Location文本框中指定一个路径。直到 选择列表中的一个图标,并输入一个项目名后,0K按钮才能用。单击0K。步骤1程序界面如图2-1所示图 2-1 AppWizard 的第一步AppWizard的第一步要求用户指定应用程序的类型,选择单文档界面(SDI)、多文档界面(MDI)或基于对话框的界面。要创建不需要

10、文档对象从磁盘文件中读取数据的简单的 Windows 应用程序,把标为Document/ViewArchitecture Support( 文档/视图结构支持)复选项禁用即可。步骤2在图2-2中所在的AppWizard的第二步中,要求提供项目所需要的数据库 支持种类。我们选择None,有使用数据库,Next(下一步)按钮跳过这一步,进 到步骤3。图 2-2 AppWizard 的第二步步骤3在AppWizard 的第三步(图2-3)中,设置程序的OLE和ActiveX支持类型 对话框上半部分的五个单选按钮控制着 AppWizard添加到程序中的复合文档支持的类型。我们仍然选择 None,单击N

11、ext按钮进到步骤4图2-3 AppWizard 的第三步步骤4在图2-4中所示的AppWizard的第四步中,可以控制AppWizard 为程序创建哪些用户界面元素。图2-4 AppWizard 的第四步AppWizard自动为程序主窗口的菜单系统、工具栏及状态栏生成代码和数据。Normal(常规)In ternet Explorer Rebars单选按钮为应用程序的工具栏提供两种不同的风格。激活Context-Sensitive Help(上下文相关)复选项,会告诉AppWizard希望所创建的程序提供在线帮助。这些说明清晰完整不需要再做更 多的工作只需要说 明那些自己添加到 程序中的命

12、令以加强 帮助文 件。在AppWizard 第四步的对话框的右下角有一个 Advanced(高级)按钮,单击它, 将显示一个标题为Advaneed Options( 高级选项)的包含两个选项卡的对话框。步骤5图2-5所示的AppWizard 的第五步询问想创建的程序的风格、是否需要 附加的源代码注释,及希望程序如何链接到MFC库。图2-5 AppWizard 的第五步步骤6AppWizard 的第六步列举了 AppWizard 将为项目创建的类,如图 2-6图2-6 AppWizard 的第六步单击Finish按钮后,AppWizard 显示一个摘要表,其中列出了所选的项 目特征。单击0K会使

13、AppWizard在摘要表底部所列的目录下创建项目数据库的设计VC有一个专门用于数据库和数据表的开发制作的数据库工程(DatabaseProject),可以为用户提供一个开发数据库和数据表的工具。用Database Project创建数据库工程的步骤如下:1)启动VC ,单击“文件I新建”菜单项,如图2-0所示。在VC+的工程类型选项卡中,有一个数据库工程(Database Project)类型, 该数据库工程是专门为应用系统开发创建数据库和数据表的工程类型, 因此用户 可以利用它创建数据库和数据表。2)在工程类型选项卡中选择Database Project 工程类型。3)在“工程”文本框中输

14、入工程文件名称并选择工程保存位置。4)单击“确定”按钮,出现数据源选择对话框,在数据源选择对话框中 将选项卡切换到“机器数据源”,如图2-7所示。在数据源的列表框中,列出了 VC+可以使用的一切数据源类型。5)单击New按钮,进入新的数据源类型创建选择面板,在数据源类型选 择面板中选择用户数据类型即可。坯挥埶誓滋冈麹搭源嗒嘟dfflASE FilesEir" FileiMS Aiccessi Dlvt aba. e列干谱廿申半甘坤兵热曲制作片1干/串丽JVi o lluI uba勺e* S-aiti j丄e 1 A半甘秤納棋库人爭甘靜¥5惯库1 人出甘规亲址 A半耒空皆叩新

15、連QP .-去 血洁 |ffiSh图2-7数据源类型6)单击“下一步”按钮,出现数据源的驱动程序类型选择对话框,如图2-8所示。图2-8数据源驱动程序选择在该对话框中列出了许多支持 VC+的数据库驱动程序类型。在 VC+中,用户可以根据不同数据库开发的需要, 选择不同的数据库驱动程序。其中,有一种基本的数据库驱动程序,它就是Microsoft Access Driver(*mdb),这与Microsoft Basic和其他一些微软的开发平台所使用的驱动程序是一致的,这样的数据库驱动程序对于制作本地中小型的数据库应用系统是足以胜任的。7) 单击“下一步”按钮,出现数据库设置信息界面,信息内容如下

16、所示:8) 单击“完成”按钮,则完成数据源创建的全部设置,并出现如图2-9 所示的对话框。131®选释刨建©修复(£).压缩迪数据库;OPB匚 WicrosiJ-f-t安装豹据谒名通);丄书管蹲裁据库说明电):|用于谡疔人事営理系址的制作|数据库来域数据库r数据库(ij:图2-9数据创建对话框9)单击Create按钮即可创建一个新的数据库,首先出现数据保存位置与数据库名称命名对话框,如图2-10所示。在对话框中键入数据库名称,并选择保存数据库的位置1人爭首理数抵库抚C;1黨面3 c: BOCUUEHTS AJTD SET 直 AH1IHTSTRATDR 豊桌面 口

17、計+写作塞例 口 ych 匚新逹立悴夹 口新逹立件夹C2)数据库名卽目录:选顺厂位置3;i. O】 I系统数据库 加密目C:图2-10数据库存放位置与命名10) 单击0K按钮,出现一个创建数据库成功的信息,然后回到图2-9所 示对话框。11)单击0K按钮,回到图2-7所示的对话框。12)单击“确定”按钮,回到数据工程窗体,显示数据库创建的结果,如图2-11所示图2-11人事管理数据工程创建结果在数据库中利用设计器创建表,先定义表的结构,再输入表的数据。2.2解决问题的基本思路建立数据库及数据表,并进行选择与之相适应的数据源。MFC设计过程中相应的对话框中的控件进行数据绑定和对一些控件代表的编写

18、。2.3总体方案使用在基础知识中数据库的设计先设计数据库和数据表。用MFC设计应用程序框架,在创建MFC时,进入框架设计的第2步,应选择“查看数据库而不 使用文件支持”,在“ Data Source ”里添加已经创建的数据库和数据表,即可 完成。然后制作人事管理主窗体,在里面最主要的是进行控件与数据表字段的绑 定。最后为系统实现增加、删除、排序与查询功能。2.4功能模块框图根据系统功能的要求,可以将系统分解成几个功能模块,它如图2-12所示。人事管理系统按员工编号查询人员增加人员删除按员工编号排序图2-12人事管理系统功能模块图3人事管理系统设计人事管理系统设计主要进行四个功能:增加记录、删除

19、记录、排序记录、查 询记录。3.1部署连接(图)MFC对ODBC的封装(如图3-1所示):图3-1硬件连接3.2算法描述增加记录的功能描述(如图3-2所示):获取指向数据库的指针- 确认对数据库的任何修改均已保存-获取新的ID值-通过AddNew函数来添加新记录 -把新的ID值设置为新增记录中的ID字段值-调用Requery函数更新记录- 游标移到最后一条记录。删除记录的功能描述 (如图 3-3 所示):删除记录 -游标移到下一条记录 -如果游标在文件尾,将它移到最后一条记录 -如果游标在文件头,则内容为空 -更新表单。排序的功能描述 (如图 3-4 所示):在 CRecordset 类中有数

20、据成员 m_strSort ,可以通过设置该成员排序。将游标指向 m_strSort- 刷新数据库 - 更新表单。筛选的功能描述 (如图 3-5 所示):为了编写查找功能的代码,增加菜单 项“按员工编号查找” (ID_Search) ,映射的 COMMAND 消息处理函数为 OnSearch() 。接收查询字符串 -关闭原来的表单 -将查询条件赋给过滤器 -打 开经过过滤的表单 -计算满足条件的记录数 -如果没有找到相关记录,就会打开 全为空的表单 -不论任何情况,都更新表单。3.3详细流程图记录内容为空更新表单游标移到最 后一条记录图3-2增加记录的流程图图3-3删除记录的流程图更新表单刷新

21、数据库Ort将游标指s_sm图3-4排序记录的流程图图3-5筛选记录的流程图4代码编写4.1增加记录的代码void CMyView:O nButt on add new() CRecordset * pSet=OnGetRecordset();/ 获取指向数据库的指针if(pSet->Ca nUpdate( )&&!pSet->lsDeleted()/确认对数据库的任何修改均已保存 pSet->Edit();if(!UpdateData() return;pSet->Update();/ 获取新的 ID 值m_pSet->AddNew(); m_p

22、Set->m_ZGBH=m_lNewID; m_pSet->Update();m_pSet->Requery();m_pSet->MoveLast();UpdateData(FALSE);/ 添加一个新记录/ 设置新的 ID 标识/ 保存新的记录/ 刷新数据库/ 游标移到最后一条记录/ 更新表单4.2 删除记录的代码void CMyView:OnButtondelete()if(MessageBox("真 的 要 删 除 吗 ? "," 删 除 记 录",MB_YESNO|MB_ICONQUESTION)=IDYES)m_pSet

23、->Delete();m_pSet->MoveNext();if(m_pSet->IsEOF() 记录m_pSet->MoveLast();if(m_pSet->IsBOF()/ 删除记录/ 游标移到下一条记录/ 如果游标在文件尾,将它移到最后一条/ 如果游标在文件头,则内容为空m_pSet->SetFieldNull(NULL);long m_lNewID=m_pSet->GetMaxID()+1;UpdateData(FALSE);/ 更新表单4.3 排序记录的代码void CMyView:OnSORTRECO()/ 指定排序字段/ 刷新数据库/ 更新表单m_pSet->m_strSort=" 职工编号 "m_pSet->Requery ();UpdateData(FALSE);4.4 筛选记录的代码void CMyView:OnFILTERECO()CDlgQuery Dlgquery;CString value;int r

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论