《MFC》综合开发案例分析1_第1页
《MFC》综合开发案例分析1_第2页
《MFC》综合开发案例分析1_第3页
《MFC》综合开发案例分析1_第4页
《MFC》综合开发案例分析1_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

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

文档简介

-前 言21世纪最激烈的竞争当属人才的竞争,一个具有多学科知识的复合性人才或许是一个企业发展壮大所不可或缺的重要因素。因此,企业人事管理工作的好坏不但可以直接影响到企业的人力资源管理,而且会间接的影响到企业整体管理。随着社会的发展,科技的进步,计算机的应用在社会各领域中都得到了普及,越来越多的人都感受到利用计算机进行各类管理的科学和便捷;认识到管理信息系统对于管理工作的重要性。利用计算机对企业人事进行管理是必然趋势,人事管理系统是企业管理工作中不可缺少的。所以在这次课程设计中,我选择开发人事管理系统。人事管理系统的功能主要有增加记录,删除记录,筛选记录,排序记录。这就要求它应该能够为用户提供有好美观的窗口界面、充足可靠的信息数据、简单方便的维护手段和灵活多变的查询方式以及快捷而准确的查询结果。所以,对于人事管理系统的设计主要包括数据库的建立、维护以及应用程序的开发两个方面。对于前者而言要求建立起数据一致性及完整性强、数据安全性好的数据库。对于后者而言则要求具备应用程序功能全,易使用等,运行稳定等特点。因此,拟选用的开发软件是Microsoft 公司出品的Visual C+6.0 MFC平台进行系统的开发。目录1 课题综述11.1 人事管理信息系统来源11.2 人事管理系统的意义11.3 预期目标11.4 面对的问题21.5 需解决的关键技术等22 人事管理系统分析22.1 涉及的基础知识22.2 解决问题的基本思路92.3 总体方案92.4 功能模块框图93 人事管理系统设计103.1 部署连接(图)103.2 算法描述103.3 详细流程图114 代码编写124.1增加记录的代码124.2 删除记录的代码134.3 排序记录的代码134.4 筛选记录的代码135 运行与测试14精选资料1 课题综述人事管理系统是一个数据库应用系统,员工的所有信息都是保存在数据库中。本案例将主要实现如下一些功能:增加记录功能、修改记录功能、删除记录功能以及刷新记录功能等等。作为人事管理系统,我们将它作为一个数据库应用系统来进行开发制作。数据库应用系统开发的前提是首先开发数据库和数据库中的数据表,数据库和数据表是数据库应用系统中进行不可缺少的工具,一切的开发工作都是围绕数据库和数据表的操作进行的,数据表可被VC+的数据工程和其他工程进行引用。1.1 人事管理信息系统来源随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;计算机管理所无法比拟的优点检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。 1.2 人事管理系统的意义管理信息系统(Management Information System,以下简称为MIS),是一个将企业生产和经营中的各种内、外部信息进行收集、加工、整理、传递,并有序地存储,以用于管理和决策,是企业增效的信息系统。它能够使企业更加及时、准确、全面、详实的了解所需的信息数据。同时管理信息系统对各种信息数据的进一步加工,能使企业领导层的生产、经营、管理决策依据更加充分,更具有合理性、科学性;从而为社会创造出更多的价值,为企业的发展创造出更多的机会。对于企、事业单位的人事管理系统来说,不需要大型的数据库系统。只需要一个操作方便,功能实用,能满足本中心对数据的管理及需求的系统,能够提高人事管理的效率。1.3 预期目标我们的目标就是在于开发一个功能实用、操作方便,简单明了的人事管理系统.能够录入人事的基本资料,在操作上能够完成诸如添加、修改、删除、按条件进行查询,基本满足人事日常业务的需要。本人独立完成了此课题的研究与开发,包括调研、分析、设计、编码、测试、文档编写等内容。1.4 面对的问题这次课题主要的问题就是数据库的结构设计。这里所说的数据库结构设计是指数据库中各个表结构的设计,包括信息保存在哪些表格中,各个表的结构如何以及各个表之间的关系。人事管理虽然只有一个数据表,但仍然要进行数据链接,这其中也就带来了各成员之间的绑定问题。1.5 需解决的关键技术等人事管理系统需解决的关键技术是与数据源进行链接,Microsoft Access的使用以及MFC的使用等。2 人事管理系统分析人事管理系统主要进行对企业的人员管理,使企业的管理更加科学化、合理化、制度化、规范化;为企业的管理水平跨上新台阶;为企业持续、健康、稳定的发展奠定坚实基础。进行人事管理系统需要Windows2000以上的操作系统及Visual C+6.0语言环境。2.1 涉及的基础知识2.1.1 MFC编程1) MFC简介MFC是Microsoft Foundation Class Library(微软基础类库)的缩写形式。它是C+的类集,提供面向对象框架,利用这个框架,程序员可以轻松地创建Windows应用程序。MFC还提供应用程序开发模型。此模型被称为文档/视图模型。文档/视图模型是将应用程序数据与用户界面元素分离的一种应用程序方法。它允许这两部分程序独立存在,这样一来,程序员在更改其中一部分时,就无须大量更改另一部分。MFC为程序员提供了更友好的C+类,使之更易于使用。在很多情况下,MFC在幕后执行一些复杂操作,而向开发人员提供更简单的编程界面,并可以掩盖Windows API的一些缺点。2) AppWizard 向导开发应用程序图2-0 New对话框从File菜单中单击New(新建),显示New对话框的Projects(项目)选项卡,其中列出了Visual C+中的向导。选择标有MFC AppWizard(exe)的图标,如图2-0所示,为项目输入一个名字。在Location文本框中指定一个路径。直到选择列表中的一个图标,并输入一个项目名后,OK按钮才能用。单击OK。 步骤1程序界面如图2-1所示。图2-1 AppWizard的第一步AppWizard的第一步要求用户指定应用程序的类型,选择单文档界面(SDI)、多文档界面(MDI)或基于对话框的界面。要创建不需要文档对象从磁盘文件中读取数据的简单的Windows应用程序,把标为Document/View Architecture Support(文档/视图结构支持)复选项禁用即可。步骤2在图2-2中所在的AppWizard的第二步中,要求提供项目所需要的数据库支持种类。我们选择None,有使用数据库,Next(下一步)按钮跳过这一步,进到步骤3。图2-2 AppWizard的第二步步骤3在AppWizard的第三步(图2-3)中,设置程序的OLE和ActiveX支持类型。对话框上半部分的五个单选按钮控制着AppWizard添加到程序中的复合文档支持的类型。我们仍然选择None,单击Next按钮进到步骤4。图2-3 AppWizard的第三步步骤4在图2-4中所示的AppWizard的第四步中,可以控制AppWizard为程序创建哪些用户界面元素。图2-4 AppWizard的第四步AppWizard自动为程序主窗口的菜单系统、工具栏及状态栏生成代码和数据。Normal(常规)Internet Explorer Rebars单选按钮为应用程序的工具栏提供两种不同的风格。激活Context-Sensitive Help(上下文相关)复选项,会告诉AppWizard希望所创建的程序提供在线帮助。这些说明清晰完整不需要再做更多的工作只需要说明那些自己添加到程序中的命令以加强帮助文件。在AppWizard第四步的对话框的右下角有一个Advanced(高级)按钮,单击它,将显示一个标题为Advanced Options(高级选项)的包含两个选项卡的对话框。步骤5图2-5所示的AppWizard 的第五步询问想创建的程序的风格、是否需要附加的源代码注释,及希望程序如何链接到MFC库。图2-5 AppWizard的第五步步骤6AppWizard 的第六步列举了AppWizard将为项目创建的类,如图2-6。图2-6 AppWizard的第六步单击Finish按钮后,AppWizard显示一个摘要表,其中列出了所选的项目特征。单击OK会使AppWizard在摘要表底部所列的目录下创建项目。2.1.2 数据库的设计VC有一个专门用于数据库和数据表的开发制作的数据库工程(Database Project),可以为用户提供一个开发数据库和数据表的工具。用Database Project创建数据库工程的步骤如下:1) 启动VC,单击“文件|新建”菜单项,如图2-0所示。在VC+的工程类型选项卡中,有一个数据库工程(Database Project)类型,该数据库工程是专门为应用系统开发创建数据库和数据表的工程类型,因此用户可以利用它创建数据库和数据表。2) 在工程类型选项卡中选择Database Project工程类型。3) 在“工程”文本框中输入工程文件名称并选择工程保存位置。4) 单击“确定”按钮,出现数据源选择对话框,在数据源选择对话框中将选项卡切换到“机器数据源”,如图2-7所示。在数据源的列表框中,列出了VC+可以使用的一切数据源类型。5) 单击New按钮,进入新的数据源类型创建选择面板,在数据源类型选择面板中选择用户数据类型即可。图2-7 数据源类型 6) 单击“下一步”按钮,出现数据源的驱动程序类型选择对话框,如图2-8所示。图2-8 数据源驱动程序选择在该对话框中列出了许多支持VC+的数据库驱动程序类型。在VC+中,用户可以根据不同数据库开发的需要,选择不同的数据库驱动程序。其中,有一种基本的数据库驱动程序,它就是Microsoft Access Driver(*.mdb),这与Microsoft Basic和其他一些微软的开发平台所使用的驱动程序是一致的,这样的数据库驱动程序对于制作本地中小型的数据库应用系统是足以胜任的。7) 单击“下一步”按钮,出现数据库设置信息界面,信息内容如下所示:8) 单击“完成”按钮,则完成数据源创建的全部设置,并出现如图2-9所示的对话框。图2-9 数据创建对话框9) 单击Create按钮即可创建一个新的数据库,首先出现数据保存位置与数据库名称命名对话框,如图2-10所示。在对话框中键入数据库名称,并选择保存数据库的位置。图2-10 数据库存放位置与命名10) 单击OK按钮,出现一个创建数据库成功的信息,然后回到图2-9所示对话框。11) 单击OK按钮,回到图2-7所示的对话框。12) 单击“确定”按钮,回到数据工程窗体,显示数据库创建的结果,如图2-11所示。图2-11 人事管理数据工程创建结果在数据库中利用设计器创建表,先定义表的结构,再输入表的数据。2.2 解决问题的基本思路建立数据库及数据表,并进行选择与之相适应的数据源。MFC设计过程中相应的对话框中的控件进行数据绑定和对一些控件代表的编写。2.3 总体方案使用在基础知识中数据库的设计先设计数据库和数据表。用MFC设计应用程序框架,在创建MFC时,进入框架设计的第2步,应选择“查看数据库而不使用文件支持”,在“Data Source”里添加已经创建的数据库和数据表,即可完成。然后制作人事管理主窗体,在里面最主要的是进行控件与数据表字段的绑定。最后为系统实现增加、删除、排序与查询功能。2.4 功能模块框图根据系统功能的要求,可以将系统分解成几个功能模块,它如图2-12所示。人事管理系统人员删除人员增加按员工编号查询按员工编号排序图2-12 人事管理系统功能模块图3 人事管理系统设计人事管理系统设计主要进行四个功能:增加记录、删除记录、排序记录、查询记录。3.1 部署连接(图)MFC对ODBC的封装(如图3-1所示):图3-1 硬件连接3.2 算法描述u 增加记录的功能描述(如图3-2所示):获取指向数据库的指针-确认对数据库的任何修改均已保存-获取新的ID值-通过AddNew函数来添加新记录-把新的ID值设置为新增记录中的ID字段值-调用Requery函数更新记录-游标移到最后一条记录。u 删除记录的功能描述(如图3-3所示):删除记录-游标移到下一条记录-如果游标在文件尾,将它移到最后一条记录-如果游标在文件头,则内容为空-更新表单。u 排序的功能描述(如图3-4所示):在CRecordset类中有数据成员m_strSort,可以通过设置该成员排序。将游标指向m_strSort-刷新数据库-更新表单。u 筛选的功能描述(如图3-5所示):为了编写查找功能的代码,增加菜单项“按员工编号查找” (ID_Search) ,映射的COMMAND消息处理函数为OnSearch()。接收查询字符串-关闭原来的表单-将查询条件赋给过滤器-打开经过过滤的表单-计算满足条件的记录数-如果没有找到相关记录,就会打开全为空的表单-不论任何情况,都更新表单。3.3 详细流程图确认对数据库的任何修改自己保存获取指向数据库获取新的ID值添加新记录,并保存更新记录把游标移到最后一记录游标移到最后一条记录删除记录yes游标移到下一条记录记录内容为空更新表单游标在文件尾游标在文件头noyesno图3-2 增加记录的流程图 图3-3 删除记录的流程图将游标指向m_strSort刷新数据库更新表单图3-4 排序记录的流程图出现有此消息的对话框接收查询字符串更新表单将查询条件赋给过滤器计算满足条件的记录出现无此记录的消息对话框打开过滤器的表单按OK键没有找到相关记录noyesnoyes图3-5 筛选记录的流程图4 代码编写4.1增加记录的代码void CMyView:OnButtonaddnew() CRecordset * pSet=OnGetRecordset(); /获取指向数据库的指针if(pSet-CanUpdate()&!pSet-IsDeleted() /确认对数据库的任何修改均已保存pSet-Edit();if(!UpdateData()return;pSet-Update();long m_lNewID=m_pSet-GetMaxID()+1; /获取新的ID值m_pSet-AddNew(); /添加一个新记录m_pSet-m_ZGBH=m_lNewID; /设置新的ID标识m_pSet-Update(); /保存新的记录m_pSet-Requery(); /刷新数据库m_pSet-MoveLast(); /游标移到最后一条记录UpdateData(FALSE); /更新表单 4.2 删除记录的代码void CMyView:OnButtondelete() if(MessageBox(真的要删除吗?,删除记录,MB_YESNO|MB_ICONQUESTION)=IDYES) m_pSet-Delete(); /删除记录 m_pSet-MoveNext(); /游标移到下一条记录 if(m_pSet-IsEOF() /如果游标在文件尾,将它移到最后一条记录m_pSet-MoveLast();if(m_pSet-IsBOF() /如果游标在文件头,则内容为空m_pSet-SetFieldNull(NULL);UpdateData(FALSE); /更新表单 4.3 排序记录的代码void CMyView:OnSORTRECO() m_pSet-m_strSort=职工编号; /指定排序字段 m_pSet-Requery (); /刷新数据库 UpdateData(FALSE); /更新表单 4.4 筛选记录的代码void CMyView:OnFILTE

温馨提示

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

最新文档

评论

0/150

提交评论