ImageVerifierCode 换一换
格式:DOC , 页数:22 ,大小:531.10KB ,
资源ID:849650      下载积分:20 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 微信支付   
验证码:   换一换

加入VIP,免费下载资源
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.wodocx.com/d-849650.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于VC++的职工工资管理系统.doc)为本站会员(精***)主动上传,沃文网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知沃文网(发送邮件至2622162128@qq.com或直接QQ联系客服),我们立即给予删除!

基于VC++的职工工资管理系统.doc

1、目录1 引言2员工工资管理系统可行性分析(1) 技术可行性(2) 人员可能性(3) 系统工作量(4) 代码工作量(5) 文档要求本系统关键技术简介参考文献致 谢附录 A 职工工资管理系统源程序代码/ 程序名称:CMview.h/ 程序功能:完成各个功能的实现。/ 程序作者:余明银/ 最后修改日期:2007-7-7/ 程序名称:Denglu.h/ 程序功能:完成登录的消息映射。/ 程序作者:余明银/ 最后修改日期:2007-7-7/ 程序功能:完成职工信息的编辑。/ 程序作者:余明银/ 最后修改日期:2007-7-7搞 要 本系统主要解决一个学校或一般的企事单位内的工资管理问题,建立一个透明、相

2、容、一致、易查的工资管理信息系统。本系统开发平台为Windows XP,程序设计设计语言采用Visual C+,数据库采用Mcrosoft Access,程序运行平台为Windows 98/2000/XP。本系统主要实现对职工工资的查询、添加、修改、删除和统计功能,通过对各个模块的设计来实现不同的功能。程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以应用在商业中解决实际问题。关键词 程序设计;职工工资管理系统;Visual C+;Access;ODBC1 引言员工工资管理问题,一直是企业内的一个大问题。工资问题的有效解决将有利于管理者更好的管理企业,也有利于员工安心工作,所以对

3、于一个企事业单位来说有一个好的工资管理系统是必不可少的。工资管理系统应包括员工的基本工资的浏览查询等功能。并且有一个方便易操作的界面对管理者来说是很必要的。本系统基于这些原因以精简的界面和方便易操作的设计思想设计了该小型的职工工资管理系统。1.1 课题背景随着市场竞争的日趋激烈,人才已成为实现企业自身战略目标的一个非常关键的因素。企业中人心的向背和员工对工作的投入程度在很大程度上决定了该企业的兴衰与成败。如何能保持本企业员工的工作责任感,激励他们的工作热情 ,减少人才的流失,已成为困扰企业主管的一个日益尖锐的问题,可以说企业管理从根本上来讲就是对人的管理 。现在“公平、公正、合理”的企业管理原

4、则已为不少企业所采纳。但是要实现“公平、公正、合理”绝非易事,它不是光靠规章制度和政策就可以解决的。通过建立透明、相容、一致、易查和全面的工资管理系统,将与人相关的信息统一地管理起来,才有可能为“公平、公正、合理”原则的实现,以及企业在运作和劳资纠纷等方面的风险规避等建立一套科学的保障体系。1.2设计职工工资管理系统的目的员工工资管理系统是基于先进的软件和高速、大容量的硬件基础上的新的工资管理模式,通过集中式的信息库、自动处理信息、员工自助服务、外协以及服务共享,达到降低成本、提高效率、改进员工服务模式的目的。本课题将达到以下几个目的:(1) 提供更好的服务员工工资管理系统可以迅速、有效地收集

5、各种信息,加强内部 的信息沟通。各种用户可以直接从系统中获得自己所需的各种信息,并根据相关的信息做出决策和相应的行动方案。(2) 降低成本员工工资管理系统通过减少员工工资管理工作的操作成本、降低员工流动率以及减少通信费用等达到降低企业运作成本的目的。(3) 革新工资管理理念员工工资管理系统的最终目的是达到革新企业的管理理念,而不仅是改进管理方式 ,优化员工工资管理。先进技术应用于员工工资管理不仅是为了将现有的员工工资工作做得更好,更重要的是,做些对于企业来讲更有效率的事情,成为管理层的决策支持者,为决策提供信息和解决方案1。2员工工资管理系统可行性分析(1) 技术可行性系统的性质为管理软件,因

6、而数据库的设计与操纵是系统设计的核心。我在大一期间学习了数据库的有关知识,具备一定的系统分析与设计能力,基本熟悉数据库的设计与操纵;指导老师谢中科多年从事数据库的教学与研究工作,因而该系统的实现在技术上是可行的。(2) 人员可能性我有上机实验经验,目前时间充足,可以完成开发任务。我有深厚的文字功底,可以参与用户文档的制作、内部文档整理、后期测试等任务。(3) 系统工作量该系统的工作量相对于我来说很大,必须保证按进度完成任务。实际工作量预计超过一个月(每天4-8小时)。如包含软件维护及技术文档的整理、制作,工作量将更大。(4) 代码工作量预计需10天左右。(5) 文档要求依据国家计算机软件产品开

7、发文件编制指南和现代软件工程的理论与原则编制标准的软件技术文档。本系统关键技术简介3.1 C+介绍C+语言的主要特点表现在两个方面,一是全面兼容C语言,二是支持面向对象的程序设计方法1。(1) C+是一个更好的C,它保持了C语言的优点,大多数的C程序代码略作修改或不作修改就可在C+的集成环境下调试和运行。这对于继承和开发当前已在广泛的软件是非常重要的,可以节省大量的人力和物力。(2) C+是一种面向对象的程序设计语言它使得程序的各个模块的独立性更强,程序的可读性和可移植性更强,程序代码的结构更加合理,程序的扩充性更强。这对于设计、编制和调试一些大型的软件尤为重要。 (3) C+集成环境不仅支持

8、C+程序的编译和调试,而且也支持C程序的编译和调试。通常,C+程序环境约定:当源程序文件的扩展名为c.时,则为C程序;而当源程序文件的扩展名为cpp时,则为C+程序。(4) C+语句非常简练,对语法限制比较宽松,因此C+语法非常灵活。其优点是给用户编程带来书写上的方便。其缺点是由于编译时对语法限制比较宽松,许多逻辑上的错误不容易发现,给用户编程增加了难度。3.2 ODBC介绍(1) 开放数据库互联 ODBC(Open Database Connectivity),即开放数据库互联。ODBC基于SQL(Structured Query Language),并把它作为访问数据库的标准。这个接口提供

9、了最大限度的相互可操作性:一个应用程序可以通过一组通用的代码访问不同的数据库管理系统。一个软件开发者开发的客户/服务器应用程序不会被束定于某个特定的数据库之上。ODBC可以为不同的数据库提供相应的驱动程序。对于ASP程而言,ODBC数据源是ASP程序的ADO组件和数据库之间的接口。(2)配置ODBC数据源图3.1 ODBC数据管理器 用户DSN:ODBC用户数据源存贮了如何与指定数据库提供者连接的信息。只对当前用户可户可见,而且只能用于当前机器上。这里的当前机器是只这个配置只对当前的机器有效,而不是说只能只配置本机上的数据库。它可以配置局域网中另一台机器上的数据库的。 系统DSN: ODBC系

10、统数据源存贮了如何指定数据库提供者连接的信息。系统数据源对当前机器上的所有用户都是可见的,包括NT服务。也就是说在这里配置的数据源,只要是这台机器的用户都可以访问。 文件DSN:ODBC文件数据源允许用户连接数据提供者。文件DSN可以由安装了相同驱动程序的用户共享。这是界于用户DSN和系统DSN之间的一种共享情况。 驱动程序:这页列出了本机上所有安装的数据库驱动程序。里面列举了每个驱动程序的名称,版本,提供商公司,驱动程序文件名,以及安装日期。 跟踪:ODBC跟踪允许创建调用ODBC的日志,提供给技术人员查看。里面可设定日志的路径和文件名。技术人员通过这里面的信息可以看到本机上所有的数据库访问

11、的时间,用户,以及出错信息等情况。也可以通过这个辅助调试应用程序,可以启动Visual Studio的分析器,来进行ODBC的跟踪。 连接池:连接池允许应用程序重用原来打开的的连接句柄,这样可以节省到服务器的往返过程。 关于:最后这一页列出了所有的ODBC的核心文件。3.3CRecordset类 CRecordset类代表一个记录集该类是MFC的ODBC类中最重要、功能最强大的类。域数据成员用来保存某条记录的各个字段,它们是程序与记录之间的缓冲区域数据成员代表当前记录,当在记录集中滚动到某一记录时,框架自动地把记录的各个字段拷贝到记录集对象的域数据成员中当用户要修改当前记录或增加新记录时,程序

12、先将各字段的新值放入域数据成员中,然后调用相应的CRecordset成员函数把域数据成员设置到数据源中。3.4 Microsoft Access 数据库Access 2003 拥有一套功能强大的应用工具,其完善程度足以满足专业开发人员的需要。虽然如此,新手也能十分容易的学习和掌握该产品。通过创建或使用强大的数据库解决方案,您能够更为轻松地组织、访问和共享信息资源。(1) 访问和使用来自不同资源的信息在熟悉的界面下使用不同格式和来自程序的信息。(2) 合并大量数据资源。Access 2003 支持多种数据格式,包括扩展标记语言(XML)、OLE、开放式数据库连接(ODBC)和Microsoft

13、Windows SharePoint Services。(3) 链接各种业务系统。通过表格链接,您可以在Access 2003窗体、报表和数据访问页面中同时访问来自多个数据库的数据。它还能够将来自其他Microsoft Access数据库、Microsoft Excel电子表格、ODBC数据源、Microsoft SQL Server数据库以及其他的数据库资源的表格进行链接。(4) 轻松共享信息您设计的窗体和报表可以在旧版的Access中保存和打开,使您能够更轻松地共享信息。 更有效地共享信息。您可以导出或导入数据,或链接到Windows SharePoint Services站点的列表。这样

14、团队中的其他成员也能够访问到您的数据。构建这样的站点需要运行了Windows SharePoint Services的Microsoft Windows Server 2003。 使用强大的工具来设计Web页面。您可以在Web上发布窗体和报表,或将您的信息绑定在一个记录资源上,用来显示、更新和操作数据库中的数据。 使用兼容的文件格式。Access 2003 使用Access 2000 作为新数据库的默认文件格式。由于Access 2002 和Access 2000 可以使用和修改同一个数据库,因此公司可以在保持现有Access用户和解决方法的前提下,轻松升级到Access 2003。 职工工资

15、管理系统需求分析4.1职工工资管理个功能模块分析修改用于改员工的信息,包括职员编号、姓名、职称、现从事职业、工作岗位等。删除主要功能是删除当前查看的内容。添加主要用来向数据库中添加纪录使新的纪录纪录在里面。工资统计结果用来计算和显示当前浏览的员工的工资统计情况。4.2数据库分析 根据以上的需求分析,该课程一共需要2张表,分别存放相应的数据信息,其中工资数据表是关键表,用于存放基础数据信息。它涉及职员信息和工资情况的表;另一张表用来存放登录的用户名和密码用来登录的时候用,这两张表是关键2。表4-1工资数据表表4-2用户信息数据表5职工工资管理系统的实现与测试Visual C+资源通常由窗体、模块

16、和类模块等构成1 3。对话框是Visual C+.程序中必不可少的资源。它可以实现程序的外观显示,实现需要的功能。模块可以用来管理全局常量、变量和用户自定义函数等。在一个工程中可以有多个模块同时存在。本次设计用类来管理数据库中的每个表,类的成员变量对应表中的每个列,类的成员函数则实现对表的各种操作,例如添加、修改、删除和读取数据等5.1登录模块和系统主界面设计当系统运行时,首先打开登录窗体,只有有权限的用户才能进入系统。登录成功后,将显示系统主界面。(1) 登录界面进入程序后,首先出现的是【用户登陆】对话框,在【用户名】文本框中输入后按Tab键,程序将自动查询用户名并跳到【密码】文本框中,输入

17、密码后按Enter键即可进入系统,登录对话框如图5.1所示。图5.1用户登录对话框(2) 登录成功后将显示主界面主界面如图5.2所示,在此界面可以选择各种按钮进行不同的操作。图5.2主界面5.2系统功能的实现(1) 增加功能单击“增加“按钮,进入增加记录功能窗体,如图5.3所示。在上边的编辑框中,可以很清楚看到整个表中的记录和主视图一致,在编辑框中输入完成了记录后按确定按钮,这样刚才输入的内容就同过m_pSet这个指针写如了数据库;按取消则推出刚才的操作。 图5.3增加界面(2) 删除功能 完成机构“增加“功能后,进入主界面,按下删除按钮,则删除当前显示的记录。这个窗体相对简单,它实际上是管理

18、各个记录的删除的,以便能即时更新旧的记录,删除旧的没用的记录。(3) 修改功能对于有些写错了的记录,我们往往需要在事后才能进行修改,这个功能就为我们提供了很好的操作界面。它先把当前记录的信息显示在另外一个窗口里如图 5.4,这样能避免对记录的误操作。(4) 工资统计结果完成当前记录下的工资的统计功能,单击“工资统计”按钮,则进入“工资统计”窗体。该窗体中显示了员工的应发合计,扣除合计,实发工资,如图5.4所示。图5.4统计结果界面6 存在的不足与对策由于设计者水平有限及时间等方面的原因,该系统的功能比较简单,查错能力也不强,对于一些不正确的输入可能会造成一些难以预料的结果,此外,该界面只能在D

19、os界面显示,没有能很好把握在图形界面显示。因此,请不要故意输入错误信息。这些不足请老师多多谅解。今后设计者会更多的学习编程技巧,不断的提高程序设计水平。7总结我设计该职工工资管理系统花了很长时间,因为是一个人单独完成,所以还有很多没有做好的地方和没有想到的地方。开始时我先是做了一个单文挡应用程序主要用来显示职工的各种工资情况,这也是我设计的主界面,在界面上有五个功能按钮分别是增加、修改、删除、查询和工资统计结果。增加和修改都是另外弹出一个对话框来实现各自的功能;删除就是删除当前浏览界面上的记录;查询只提供了按职工编号查询的方法,只要输入职工编号就可以直接查询了;工资统计结果就是计算出当前职工

20、的个人所得工资。后来在添加程序代码的时候又遇到了好多麻烦,但在同学的帮助下我都顺利的解决了。整个系统大概花了个周,在这之中我知道我还有很多的不足之处和很多错误没能想到,希望在以后的学习中能够努力弥补自己的不足争取在以后的课程设计中能够有好的成绩。参考文献1 郑阿奇主编,丁有和编著.Visual C+教程. 北京: 机械工程出版社,20062 (美) Cary N. Prague等著,赵传启 . 等译.中文版Access 2003宝典.电子工业出版社3陈志泊 王春玲 编著面向对象的程序设计语言C+. 邮电出版社致 谢在这次C+的课程设计中,曾遇到过不少问题,单靠我个人的努力,很难按时完成该课程设

21、计,在此,我衷心感谢我的指导老师谢中科。谢中科老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我获益非浅。另外,还要感谢学校领导、班主任、各位同学对我们的关怀、帮助,为我们提供了良好的设计环境以及各方面的支持。附录 A 职工工资管理系统源程序代码/ 程序名称:CMyset.h/ 程序功能:数据库连接类,数据库基类CDatabase的派生类/ 程序作者:余明银/ 最后修改日期:2007-7-13/数据连接类/ 职工工资管理系统Set.cpp : implementation of the CMySet class/包含头文件#include stdafx.h#include 职工工资管

22、理系统.h#include 职工工资管理系统Set.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CMySet implementationIMPLEMENT_DYNAMIC(CMySet, CRecordset)/定义CMset类CMySet:CMySet(CDatabase* pdb): CRecordset(pdb)/AFX_FIELD_INIT(CMySet) /校验校验机制m_BX = 0;m_CX = 0;m_FZ = 0;m_GZBZ = 0;m_

23、HF = 0;m_JBGZ = 0;m_JJ = 0;m_JT = 0;m_NF = 0;m_SDF = 0;m_YF = 0;m_YJGZ = 0;m_ZGBH = _T();m_ZGBM = _T();m_ZGXM = _T();m_nFields = 15;/AFX_FIELD_INITm_nDefaultType = snapshot;CString CMySet:GetDefaultConnect(); /数据连接机制/连接数据库和相关的表return _T(ODBC;DSN=职工工资管理数据库);CString CMySet:GetDefaultSQL()return _T(工资数

24、据表); /数据表名/数据校验机制void CMySet:DoFieldExchange(CFieldExchange* pFX)/AFX_FIELD_MAP(CMySet)pFX-SetFieldType(CFieldExchange:outputColumn);RFX_Long(pFX, _T(BX), m_BX);RFX_Long(pFX, _T(CX), m_CX);RFX_Long(pFX, _T(FZ), m_FZ);RFX_Long(pFX, _T(GZBZ), m_GZBZ);RFX_Long(pFX, _T(HF), m_HF);RFX_Long(pFX, _T(JBGZ),

25、 m_JBGZ);RFX_Long(pFX, _T(JJ), m_JJ);RFX_Long(pFX, _T(JT), m_JT);RFX_Int(pFX, _T(NF), m_NF);RFX_Long(pFX, _T(SDF), m_SDF);RFX_Int(pFX, _T(YF), m_YF);RFX_Long(pFX, _T(YJGZ), m_YJGZ);RFX_Text(pFX, _T(ZGBH), m_ZGBH);RFX_Text(pFX, _T(ZGBM), m_ZGBM);RFX_Text(pFX, _T(ZGXM), m_ZGXM);/AFX_FIELD_MAP/ CMySet

26、diagnostics#ifdef _DEBUGvoid CMySet:AssertValid() constCRecordset:AssertValid();void CMySet:Dump(CDumpContext& dc) constCRecordset:Dump(dc);#endif /_DEBUG/定义和数据库的连接结素。/ 程序名称:CMview.h/ 程序功能:完成各个功能的实现。/ 程序作者:余明银/ 最后修改日期:2007-7-7/ 职工工资管理系统View.cpp : implementation of the CMyView class/包含头文件#include std

27、afx.h#include 职工工资管理系统.h#include MainFrm.h#include 职工工资管理系统Set.h#include 职工工资管理系统Doc.h#include 职工工资管理系统View.h#include EditDlg.h#include denglu.h#include Tongji.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endif/ CMyViewIMPLEMENT_DYNCREATE(CMyView, CRecordView)BE

28、GIN_MESSAGE_MAP(CMyView, CRecordView)/AFX_MSG_MAP(CMyView)ON_BN_CLICKED(IDC_CHAXUNZGBH, OnChaxunzgbh) /用MFC CLASS Wizard为查询按钮添加ON_BN_CLICKED消息映射ON_BN_CLICKED(IDC_BUTTON_ADD, OnButtonAdd) /用MFC CLASS Wizard为添加按钮添加ON_BN_CLICKED消息映射ON_BN_CLICKED(IDC_BUTTON_DELETE, OnButtonDelete) /用MFC CLASS Wizard为删除按

29、钮添加ON_BN_CLICKED消息映射ON_BN_CLICKED(IDC_BUTTON_EDIT, OnButtonEdit) /用MFC CLASS Wizard为修改按钮添加ON_BN_CLICKED消息映射ON_BN_CLICKED(IDC_ButtonEdit, OnButtonEdit) /用MFC CLASS Wizard为修改按钮添加ON_BN_CLICKED消息映射ON_BN_CLICKED(IDC_BUTTON_TONGJI, OnButtonTongji) /用MFC CLASS Wizard为工资统计结果添加ON_BN_CLICKED消息映射/command消息映射声明

30、/AFX_MSG_MAP/ Standard printing commandsON_COMMAND(ID_FILE_PRINT, CRecordView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_DIRECT, CRecordView:OnFilePrint)ON_COMMAND(ID_FILE_PRINT_PREVIEW, CRecordView:OnFilePrintPreview)END_MESSAGE_MAP()/ CMyView construction/destruction/定义CMView类构造函数CMyView:CMyView(): CRec

31、ordView(CMyView:IDD)/AFX_DATA_INIT(CMyView)m_pSet = NULL;m_ZGBH = _T();/AFX_DATA_INIT/ TODO: add construction code hereCMyView:CMyView() /析构函数void CMyView:DoDataExchange(CDataExchange* pDX)/变量数据和数据库数据的连接CRecordView:DoDataExchange(pDX);/AFX_DATA_MAP(CMyView)DDX_Text(pDX, IDC_ZGBH, m_ZGBH);DDX_FieldTe

32、xt(pDX, IDC_EDITBX, m_pSet-m_BX, m_pSet);DDX_FieldText(pDX, IDC_EDITCX, m_pSet-m_CX, m_pSet);DDX_FieldText(pDX, IDC_EDITGZBZ, m_pSet-m_GZBZ, m_pSet);DDX_FieldText(pDX, IDC_EDITFZ, m_pSet-m_FZ, m_pSet);DDX_FieldText(pDX, IDC_EDITHF, m_pSet-m_HF, m_pSet);DDX_FieldText(pDX, IDC_EDITJBGZ, m_pSet-m_JBGZ,

33、 m_pSet);DDX_FieldText(pDX, IDC_EDITJJ, m_pSet-m_JJ, m_pSet);DDX_FieldText(pDX, IDC_EDITJT, m_pSet-m_JT, m_pSet);DDX_FieldText(pDX, IDC_EDITNF, m_pSet-m_NF, m_pSet);DDX_FieldText(pDX, IDC_EDITSDF, m_pSet-m_SDF, m_pSet);DDX_FieldText(pDX, IDC_EDITYF, m_pSet-m_YF, m_pSet);DDX_FieldText(pDX, IDC_EDITYJ

34、GZ, m_pSet-m_YJGZ, m_pSet);DDX_FieldText(pDX, IDC_EDITZGBH, m_pSet-m_ZGBH, m_pSet);DDX_FieldText(pDX, IDC_EDITZGBM, m_pSet-m_ZGBM, m_pSet);DDX_FieldText(pDX, IDC_EDITZGXM, m_pSet-m_ZGXM, m_pSet);/AFX_DATA_MAPBOOL CMyView:PreCreateWindow(CREATESTRUCT& cs)/ TODO: Modify the Window class or styles here

35、 by modifying/ the CREATESTRUCT cs/登录对话狂弹出的代码Cdenglu denglu;denglu.DoModal();return CRecordView:PreCreateWindow(cs);void CMyView:OnInitialUpdate()m_pSet = &GetDocument()-m_mySet;CRecordView:OnInitialUpdate();GetParentFrame()-RecalcLayout();ResizeParentToFit();/获得总记录条数while (!m_pSet-IsEOF()m_pSet-Mov

36、eNext();m_pSet-GetRecordCount(); m_pSet-MoveFirst();/ CMyView printingBOOL CMyView:OnPreparePrinting(CPrintInfo* pInfo)/ default preparationreturn DoPreparePrinting(pInfo);/打印消息函数void CMyView:OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add extra initialization before printingvoid CMy

37、View:OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)/ TODO: add cleanup after printing/ CMyView diagnostics#ifdef _DEBUGvoid CMyView:AssertValid() constCRecordView:AssertValid();void CMyView:Dump(CDumpContext& dc) constCRecordView:Dump(dc);CMyDoc* CMyView:GetDocument() / non-debug version is inli

38、neASSERT(m_pDocument-IsKindOf(RUNTIME_CLASS(CMyDoc);return (CMyDoc*)m_pDocument;#endif /_DEBUG/ CMyView database supportCRecordset* CMyView:OnGetRecordset()return m_pSet; /返回纪录集的指针/ CMyView message handlersBOOL CMyView:OnCommand(WPARAM wParam, LPARAM lParam) / TODO: Add your specialized code here an

39、d/or call the base class /更新第2个状态拦窗格的信息CString str;CMainFrame *pFrame =(CMainFrame*)AfxGetApp()-m_pMainWnd; /获得主窗口指针CStatusBar *pStatus=&pFrame-m_wndStatusBar; /获得主框架窗口指针if(pStatus) CRecordsetStatus rStatus; m_pSet-GetStatus(rStatus); /获得当前纪录信息 str.Format(当前记录:%d/总记录:%d,1+rStatus.m_lCurrentRecord,m_

40、pSet-GetRecordCount(); /更新第2窗格 pStatus-SetPaneText(1,str); return CRecordView:OnCommand(wParam, lParam);/”查询”按钮实现函数void CMyView:OnChaxunzgbh() / TODO: Add your control notification handler code hereUpdateData();m_ZGBH.TrimLeft(); /清空左边m_ZGBH.TrimRight(); /清空右边if(m_ZGBH.IsEmpty() /如果m_ZGBH为空 MessageB

41、ox(要查询的职工编号不能为空); return; if(m_pSet-IsOpen() /如果记录集打开则先关闭 m_pSet-Close(); m_pSet-m_strFilter.Format(ZGBH=%S,m_ZGBH); /查询字符串m_ZGBHm_pSet-m_strSort=YF; /按月份排序,YF是字段名 m_pSet-Open();if(!m_pSet-IsEOF() /判断记录是否在最后UpdateData(FALSE);else MessageBox(没有查到你要找的纪录!);m_pSet-Close(); /关闭纪录集 /”添加”按钮的消息影射void CMyVie

42、w:OnButtonAdd() / TODO: Add your control notification handler code hereCEditDlg dlg;if(dlg.DoModal()=IDOK) /按下OK按钮是的消息函数 m_pSet-AddNew() ; /添加新记录 /将控件中的变量付给数据库中的对应字段m_pSet-m_NF=dlg.m_intNF; m_pSet-m_YF=dlg.m_intYF; m_pSet-m_ZGBH=dlg.m_strZGBH; m_pSet-m_ZGXM=dlg.m_strZGXM; m_pSet-m_ZGBM=dlg.m_strZGBM; m_pSet-m_JBGZ=dlg.m_longJBGZ; m_pSet-m_YJGZ=dlg.m_longYJGZ; m_pSet-m_JJ=dlg.m_longJJ; m_pSet-m_JT=dlg.m_longJT; m_pSet-m_GZBZ=dlg.m_longGZBZ; m_pSet-m_SDF=dlg.m_longSDF; m_pSet-m_FZ=dlg.m_longFZ; m_pSet-m_HF=dlg.m_longHF; m_pSet-m_CX=dlg.m_longCX

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922