论文-VC++员工工资管理系统.doc_第1页
论文-VC++员工工资管理系统.doc_第2页
论文-VC++员工工资管理系统.doc_第3页
论文-VC++员工工资管理系统.doc_第4页
论文-VC++员工工资管理系统.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

-目录1. 引言 11.1系统的设计目标和系统的意义.11.2工资管理系统将达到的效果.21.3系统的开发设计思想.21.4开发和运行环境.31.5系统的功能分析和模块设计.31.6 可行性分析和需求分析42. 数据库设计.52.1数据需求分析.52.2数据库概念结构设计.62.3数据库逻辑结构设计 62.4数据库结构的实现 83. 员工工资管理系统设计.93.1设计浏览记录界面93.2员工工资模块设计.93.3资详情模块的设计.123.4工信息模块设计.163.5登陆框的设计203.6菜单项设计.214.系统测试和异常处理224.1系统测试.234.2异常处理.23结束语 .24考文献24附录:源程序清单员工工资管理系统学生姓名: 指导老师: 摘 要 单位人员工资管理历来是企业管理中重要的组成部分,合理利用人力资源是企业发展的原动力。但由于工资管理信息种类繁杂、数量繁多,因此传统的工资信息管理需大量人力、物力,且容易出错。因此,建立高效、实用、科学的工资管理信息系统,是企业管理走向现代化的重要一步。 本论文包括需求分析、系统功能、系统设计、程序设计、系统测试及存在问题等方面,较为系统地介绍了“工资管理信息系统”课题开发的整个过程。 本系统采用小型数据库管理系统中优秀的软件“visual c+ 6.0” 作为系统开发工具,在对被调研单位工资管理体系进行充分分析和系统论证的基础上开发研制的,它不但能够完成工资管理的基本业务要求,如“职工的添加和删除、任意条件查询、基本项目统计、打印输出报表”等功能;而且具有程序设计合理、操作简单、运行可靠、保密性强等特点。关键词 工资管理 毕业设计 数据库 c+ 6.01 引言本课程设计主要解决在企业中,运用计算机对各种工资信息进行日常的管理,如查询、修改、增加和删除等,针对系统服务对象的具体要求,设计了企业工资管理系统,使管理员能够有序的管理每一位职工的各项工资条款的发放以及员工个人台帐的生成,使企业运用现代化技术创造更多更高的经济效益。1.1系统的设计目标和系统的意义采用所现有的软硬件及科学的管理系统开发方案,建立xxx公司工资管理系统,实现xxx公司工资管理的计算机自动化。要求系统符合计量所的工资管理制度,并达到操作直观、方便、实用、安全等要求。能够提供详细的员工基础信息,包括自然条件信息、工资情况、来源、去向、岗位变动情况。能够随时查阅在职、非在职人员信息,提供出职工花名册,同时为财务部提供人员变动单及月基本工资汇总情况等。针对这些要求,系统建立了职工信息查询、职工信息删除、职工工资信息管理、职工工资信息查询4个主要信息库。系统根据增减人员、工资变动操作自动生成记录记载变动内容,以便用户查询其变动过程。实现了对员工信息的查询、统计、增减、变动记录、打印相关报表等功能。以前,有关工资的所有相关操作的程序都是由手工来完成的,利用这种方式当企业规模较小,业务不是很多,需要管理的数据量也很少时,用人工方式处理或许还可以接受,但随着企业规模的逐渐增大,经营时间的增长,其工资各种补帖的不断增加,以往的那种靠手工记录各类信息,单据等的办法已远远不能满足财务人员的发展要求,而且,手工操作的方式极易产生误差且不易检查出错误,易给该部门造成不可避免的物质和经济损失。还有,其管理的范围的不断扩大,大量的数据需要录入,大量的信息需要修改、更新、查询与维护,且费时费力,造成工作效率低,准确率差,这样时间久了,会给查找、更新、维护带来不少的困难,从而使该管理系统管理不完善,这样久而久之,最终导致该部门被现行市场所淘汰。所以开发一个有关工资管理的软件是非常必要的。1.2工资管理系统将达到的效果该系统着眼于员工工资业务的实际,对发放工资业务进行了细致的分析、研究,认真分析其业务流程,采用灵活方便的计算处理方式,改变手工操作的繁杂、低效、不宜操作、灵活性差的特点,提高其工作效率和效益。实现xxx公司工资管理业务的制度化、现代化的管理。工资管理系统是为了能够迅速、准确地反映出用户需要的各种信息,及时方便的进行各种检索,从而为决策者做出准确的判断提供强有力的支持。计算机的使用使得企业管理变得更加合理,更加规范,更加科学。 1.3系统的开发设计思想本系统开发设计思想:* 尽量利用企业现有软件环境,采用先进的管理系统方案,从而达到充分利用企业现有资源,提高系统开发水平和应用效果的目的;* 系统应符合企业工资管理的规定,满足企业相关人员日常使用的需要,并达到操作过程的直观、方便、实用、安全等要求;* 系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于技术维护人员进行补充、维护。* 系统应具备数据库维护功能,及时根据用户需求进行数据的添加、删除、修改、备份等操作。1.4开发和运行环境开发工具:vc+6.0微软公司的visual c+6.0是应用程序开发工具,是目前最为广泛的、易学易用的面向对象的开发工具。visual c+6.0提供了大量的控件,这些控件可用于设计界面和实现各种功能,减少了编程人员的工作量,也简化了界面设计过程,从而有效的提高了应用程序的运行效率和可靠性。故而,实现本系统visual c+6.0是一个相对较好的选择。 在目前市场上这些众多的程序开发工具中,有些强调程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。运行环境:windows 98或windows 2000xp1.5系统的功能分析和模块设计系统功能分析企业工资管理系统需要完成的功能主要有:* 系统数据初始化;* 员工基本信息数据的输入;* 员工基本信息数据的修改、删除;* 企业工资的基本设定;* 员工工资的浏览;* 员工个人工资表的查询;系统功能模块设计在系统功能分析的基础上,根据visual c+6.0程序编制的特点,得到如图1所示的系统功能模块图。员工工资管理系统员工信息工资基本设置工资汇总资料输入员工增删员工查询基本工资员工奖金工资福利个人罚款工资总表个人工资查询员工修改图1 系统功能模块1.6 可行性分析和需求分析经济可行性由于该软件属于个人开发,无需过大的资金投入.所以经济上是可行的。技术可行性vc+6.0中文版作为一个关系型数据库系统,它提供了面向对象的编程技术,可简化数据库管理,使开发应用程序这艰辛的工作就象堆木那样简单方便.另外, vc+6.0中文版开发的应用程序可以独立运行于windows平台. vc+6.0中文版,它是运行于w indows95/98和window xp平台32位数据库系统,充分发挥了32位微处理器强大的32位数据处理性能.它功能强大,直观易用,支持客户/服务器结构和面向对象编程,提供多种可视化编程工具,支持最新internet技术,www数据库的设计,最新流行的activex 等。 vc+6.0中文版完全支持oop(面向对象)的应用程序设计方法,vc+6.0使用了真正的类,包括继承性,封装性和多态性,用可视方式创建类,查看类及类代码;利用表单向导进行专业级界面设计;对表关系进行可视化查看;可利用ole自动化来包含其他软件(如excel, word)中的对象并使用这些软件。通过vc+6.0对象和事件模型,用户可以快速创建和实现无模式(modeless)的应用程序;利用生成器和工具栏,开发人员可以快速开发应用程序,而省去编写大量的代码、定义繁多的属性。总之,vc+6.0中文版是一种适用于专业人员的开发工具。 对于一个大型的管理系统,它很可能需要对不同的用户各自创建一个大型的文件系统,它包括许多表,而属于一个用户的一套表与属于另一个用户的一套表实际上是相同的,只是名称有所不同。在vc+6.0中引入的真正的数据库的概念,使这一问题的解决变得非常的容易,设计人员只要为不同的用户创建不同的数据库,然后在这些数据库下建立用户自己的表就可以很容易对每个用户进行区别和维护了。而且,这样的数据库的关系能力更加强大,更加稳定可靠。 可以按照需要给自己的数据库定制相应的菜单样和工具栏。 重新设计了项目管理器其最简单的用途是作为一种组织工具,保存属于特定应用程序所有文件的列表,而且根据文件类型将这些文件进行划分。它所提供的多页框界面,使对项目文件的添加、建立和编程更加容易。可以与office软件集成。2 数据库设计2.1数据需求分析通过对企业工资管理的内容和数据流程分析,设计的数据项和数据结构如下:* 员工基本状况:包括的数据库项有员工号、员工姓名、性别、所在部门、生日、家庭住址、联系电话等。因为本程序中只涉及到工资管理,故为了说明简单,在数据库中只包含进了与员工的工资相关的资料,如入厂时间、所在部门、岗位、工资级别等。* 工资级别的工资金额:包括的数据库项有工资技能等级、工资额。* 企业部门及工作岗位信息:包括的数据库项有部门名称、工作岗位名称、岗位工资等。* 公司福利金额:包含的数据库项有福利值。* 工资信息:包含的数据库项有员工号、员工姓名、员工基础工资、公司福利、员工实得工资。2.2数据库概念结构设计根据上面的设计规划出的实体有:员工实体、员工工资实体、工资等级实体、部门岗位实体、公司福利实体。实体和实体之间的关系e-r图如图3所示。员工 员工工资对应包含基础工资个人奖金个人罚款福利费用对应对应对应对应工资等级员工等级员工出勤公司福利图2 实体之间关系e-r图2.3数据库逻辑结构设计为数据库员工工资表添加如下数据表 图3 员工工资表结构图4 工资详情表结构图5 登陆框结构图6 工资详情表结构 图7 员工信息表结构创建数据源为数据库创建用户dsn,数据源名称为”员工工资表” 图8 创建数据源2.4数据库结构的实现在需求分析、概念结构设计的继承上得数据库的逻辑结构之后,我们就可以在vc+6.0数据库系统中实现该逻辑结构。数据库的逻辑结构,直接使用vc+6.0的项目管理器来实现,在这之前,先建一个名为salary(工资)的项目,保存在磁盘。如d:salary。存储为d:salarydatabasesalary.dbc。为数据库添加数据表,存储为d:salarydatabase tms.dbf.3工工资管理系统设计3.1设计浏览记录界面 图9 主界面 为控件添加成员变量与控件变量并邦定3.2员工工资模块设计图10 员工工资管理模块查询控件的设计 在cex_viewl类中添加按扭控件查询idc_button_queryy的bn_clicked消息映射,并添加下列代码: void cex_view:onbuttonquery() updatedata();m_strquery.trimleft ();if(m_strquery.isempty ()messagebox(要查询的员工号不能为空!);return;if(m_pset-isopen () m_pset-close(); m_pset-m_strfilter.format(id=%s,m_strquery);m_pset-m_strsort=department;m_pset-open();if(!m_pset-iseof()updatedata(false);elsemessagebox(没有查到你要找员工的记录!);添加,修改,删除控件的设计 添加一对话框资源id号为idd_salary_table将表单资源的控件复制到对话框即可,然后为对话框资源创建一个对话框类csalarydlg,在mfc中为控件添加成员变量如下图所示:图11 员工工资表界面图12 为控件添加成员变量然后为idok添加bn_clicked消息映射,并添加下列代码: void csalarydlg:onok() updatedata(); m_strid.trimleft(); m_strdepartment.trimleft(); if(m_strid.isempty() messagebox(员工号不能为空!); else if(m_strdepartment.isempty() messagebox(部门号不能为空!); elsecdialog:onok(); 然后cex_view类中的三个按扭;idc_rec_add,idc_rec_edit,idc_rec_del添加bn_clicked消息映射,并添加下列代码:void cex_view:onrecadd() csalarydlg dlg;if(dlg.domodal()=idok)m_pset-addnew(); m_pset-m_department =dlg.m_strdepartment; m_pset-m_id =dlg.m_strid; m_pset-m_name =dlg.m_strname; m_pset-m_salary =dlg.m_fsalary; m_pset-update(); m_pset-requery();void cex_view:onrecedit() csalarydlg dlg; dlg.m_strdepartment =m_pset-m_department; dlg.m_strid =m_pset-m_id;dlg.m_strname =m_pset-m_name; dlg.m_fsalary =m_pset-m_salary; if(dlg.domodal()=idok) m_pset-edit();m_pset-m_department =dlg.m_strdepartment;m_pset-m_id =dlg.m_strid;m_pset-m_name =dlg.m_strname;m_pset-m_salary =dlg.m_fsalary;m_pset-update();m_pset-requery();updatedata(false);void cex_view:onrecdel() crecordsetstatus status;m_pset-getstatus(status);m_pset-delete();if(status.m_lcurrentrecord=0)m_pset-movenext();elsem_pset-movefirst();updatedata(false);3.3资详情模块的设计图13 工资详情模块为对话框资源创建一个对话框类cdetaildlg,在mfc中为控件添加成员变量如下图所示图14 为控件添加成员变量为表单资源的按扭添加bn_clicked消息映射,并添加下列代码:void cex_view:onbuttondetail() cdetaildlg dlg; dlg.domodal();在cdetaildlg类中添加按扭控件查询idc_button_queryy2的bn_clicked消息映射,并添加下列代码:void cdetaildlg:onbuttonquery2() updatedata();m_strquery2.trimleft ();if(m_strquery2.isempty ()messagebox(要查询的员工号不能为空!);return;cstring str;str=m_strquery2;cdetailset cset;cset.m_strfilter.format(id=%s,str);cset.open();if(!cset.iseof()m_strdepartment=cset.m_department;m_fbasic=cset.m_basic;m_fbonus=cset.m_bonus;m_fwelfare=cset.m_welfare;m_ffine=cset.m_fine;m_ftotal=cset.m_total;m_strid=cset.m_id;updatedata(false);elsemessagebox(查询的员工记录不存在!);if(cset.isopen()cset.close();为上对话框定义crecordset派生类图15 对话框定义crecordset派生类添加一对话框资源id号为idd_detail_tabel将工资详情的控件复制到对话框即可,然后为话框资源创建一个对话框类cdtabeldlg在mfc中为控件添加成员变量如下图所示图16 工资详情表界面图17 为控件添加成员变量然后为idok添加bn_clicked消息映射,并添加下列代码:void cdtabeldlg:onok() updatedata(); m_strid.trimleft(); m_strdepartment.trimleft(); if(m_strid.isempty() messagebox(员工号不能为空!); else if(m_strdepartment.isempty() messagebox(部门号不能为空!); else cdialog:onok();然后cdetaildlg类中的三个按扭;idc_rec_add,idc_rec_edit,idc_rec_del添加bn_clicked消息映射,并添加下列代码:void cdetaildlg:onbuttonadd2() cdtabeldlg dlg;if(dlg.domodal()=idok) cdetailset pset;pset.addnew(); pset.m_department =dlg.m_strdepartment; pset.m_id =dlg.m_strid; pset.m_basic =dlg.m_fbasic; pset.m_bonus =dlg.m_fbonus; pset.m_welfare =dlg.m_fwelfare; pset.m_fine =dlg.m_ffine; pset.m_total =dlg.m_ftotal; pset.update(); pset.requery();void cdetaildlg:onbuttonedit2() cdetailset pset; pset.open();updatedata();pset.edit(); pset.m_department=m_strdepartment; pset.m_id= m_strid; pset.m_basic=m_fbasic;pset.m_bonus= m_fbonus; pset.m_welfare=m_fwelfare;pset.m_fine= m_ffine;pset.m_total= m_ftotal;updatedata(false);pset.update();pset.requery();pset.close();messagebox(修改成功);void cdetaildlg:onbuttondel2() updatedata();cdetailset cset;cset.open();cset.m_strfilter=id=+m_strid+;cset.requery();cset.delete();cset.close();updatedata(false);3.4工信息模块设计添加对话框图18 员工信息界面为对话框资源创建一个对话框类cinfodlg,在mfc中为控件添加成员变量如下图所示图19 为控件添加成员变量为表单资源的按扭添加bn_clicked消息映射,并添加下列代码void cex_view:onbuttoninfo() cinfodlg dlg; dlg.domodal();在cinfodlg类中添加按扭控件查询idc_button_queryy3的bn_clicked消息映射,并添加下列代码:void cinfodlg:onbuttonquery3() updatedata();m_strquery3.trimleft ();if(m_strquery3.isempty ()messagebox(要查询的员工号不能为空!);return;cstring str;str=m_strquery3;cinfoset cset;cset.m_strfilter.format(id=%s,str);cset.open();if(!cset.iseof()m_strdepartment=cset.m_department;updatedata(false);elsemessagebox(查询的员工记录不存在!);if(cset.isopen()cset.close();为上对话框定义crecordset派生类图20 crecordset派生类添加一对话框资源id号为idd_info_tabel将工资详情的控件复制到对话框即可,然后为对话框资源创建一个对话框类citabeldlg在mfc中为控件添加成员变量如下图所示图21 员工信息表界面图22 为控件添加成员变量然后为idok添加bn_clicked消息映射,并添加下列代码:void citabeldlg:onok() updatedata(); m_strid.trimleft(); m_strdepartment.trimleft(); if(m_strid.isempty() messagebox(员工号不能为空!); else if(m_strdepartment.isempty() messagebox(部门号不能为空!); elsecdialog:onok();然后cinfoldlg类中的三个按扭;idc_rec_add,idc_rec_edit,idc_rec_del添加bn_clicked消息映射,并添加下列代码:void cinfodlg:onbuttonadd3() citabeldlg dlg;if(dlg.domodal()=idok) cinfoset pset;pset.addnew(); pset.m_department =dlg.m_strdepartment; pset.m_id =dlg.m_strid; pset.m_mame =dlg.m_strname; pset.m_sex =dlg.m_strsex; pset.m_job =dlg.m_strjob; pset.m_birthday =dlg.m_strbirthday; pset.m_tel =dlg.m_strtel; pset.m_address =dlg.m_straddress; pset.update(); pset.requery();void cinfodlg:onbuttonedit3() cinfoset pset; pset.open();updatedata();pset.edit(); pset.m_department=m_strdepartment; pset.m_id= m_strid; pset.m_mame=m_strname;pset.m_sex= m_strsex; pset.m_job=m_strjob;pset.m_birthday= m_strbirthay;pset.m_tel= m_strtel;pset.m_address= m_straddress;updatedata(false);pset.update();pset.requery();pset.close();messagebox(修改成功);void cinfodlg:onbuttondel3() updatedata();cinfoset cset;cset.open();cset.m_strfilter=id=+m_strid+;cset.requery();cset.delete();cset.close();updatedata(false);3.5登陆框的设计添加如下的对话框如上的方法依次为其创建对话框类dengludlg和crecordset派生类cdengluset在mfc中为控件添加成员变量如下图所示图23 为控件添加成员变量图24 登陆框界面然后为idok添加bn_clicked消息映射,并添加下列代码:bool cdengludlg:check()updatedata();cdengluset pset;pset.open();if(m_stryonghu.isempty()|m_strmima.isempty()messagebox(请输用户名和密码!);return false;pset.m_strfilter.format(name=%s,m_stryonghu);pset.requery();if(pset.m_name!=m_stryonghu|pset.m_password!=m_strmima)messagebox(密码或用户名有错!);return false;return true;void cdengludlg:onok() cwnd *m_pmainwnd;if(!check()return;cdialog:onok();m_pmainwnd=afxgetmainwnd();cdialog:onok();3.6菜单项设计为程序添加子菜单项图25 菜单项属性id号分别为id_salary,id_info,并在mfc中分别为其添加command消息映射,并添加代码如下:void cmainframe:onsalary() cdetaildlg dlg;dlg.domodal();void cmainframe:oninfo() cinfodlg dlg;dlg.domodal();4系统测试和异常处理4.1系统测试 系统测试结果如图图26 进入登陆框测试图27 进入主界面测试4.2异常处理由于时间匆忙以及本人水平有限,本程序存在的问题比较多,自认为主要有以下几个方面。1. 程序没有对输入的员工信息诸如 工号,姓名,部门号,等进行检测其合理性,所以在工号,姓名,部门号等中可以输入字母或在名字中可以输入数字就在所难免了,作为一个员工信息管理,这样的安全性是致命的。要解决这个问题,就要在重载函数中加入各种判断语句,工作量比较大。2. 由于水平有限,没有制作图形界面,多媒体等美化程序的设置,只是一些简单的对话框和界面,看起来难免有些单调不够完善。3. 程序的功能也是一个问题,员工的信息太简单,可进行的操作也少,可能有些功能实现起来显得有些别扭。 结束语经过一个多月的设计和开发,工资管理系统的开发基本完成。其功能基本符合用户需求,能够完成员工工资的查询以及管理员对数据的添加删除等管理。但是由于毕业设计时间较短,所以该系统还有许多不尽如人意的地方,比如系统功能较少,用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。在设计过程中,我们结合以前在课堂中的学习内容和收集课外的相关资料,不断的学习改进,当遇到问题时努力解决,虚心请教老师和同学,虽然设计过程十分艰难,但也燃起了我们对专业的兴趣和求索,在翻阅大量的相关书籍和浏览了各种应用程序后,我们总结经验在结合自己的学习基础,终于完成了员工工资管理系统,尽管我们设计的程序还比较简单也不够完善,但看到自己的努力成果却有着莫大的满足感,我们希望在以后的学习道路中能够继承老师对我们的期望继续对vc+以及相关语言的学习,我们相信只要经过我们坚持不懈的努力,总有一天会作出另人满意的程序。我们能够顺利完成此次设计,离不开老师悉心教导和同学们的无私帮助,特别要感谢的是谢中科老师,在接触程序语言的这一年中,我们从一无所知到现在可以自己设计完成简单的应用程序,都是老师悉心教导的结果,并且老师工作态度认真,治学严谨,耐心解答我们提出的各种问题,同时还不忘鼓励我们不断前进,才使我们有了向困难挑战的信心,在以后的道路中我们会以更加努力的决心和优异的成绩来回报老师和帮助我们的人。参考文献1 郑阿奇,丁有和. visual c+教程. 北京:机械工业出版社 ,2004 2 黄明,梁旭,周绍斌.visual c+信息系统设计与开发实例 . 北京:机械工业出版社3王育坚. visual c+面向对象编程教程. 北京:清华大学出版社,20034 伍俊良. visual c+课程设计与系统开发例案. 北京:清华大学出版社,2002附录:源程序清单ex_员工工资管理系统view.cpp/ cex_view message handlersvoid cex_view:onbuttonquery() updatedata();m_strquery.trimleft ();if(m_strquery.isempty ()messagebox(要查询的员工号不能为空!);return;if(m_pset-isopen () m_pset-close(); m_pset-m_strfilter.format(id=%s,m_strquery);m_pset-m_strsort=department;m_pset-open();if(!m_pset-iseof()updatedata(false);elsemessagebox(没有查到你要找员工的记录!);void cex_view:onrecadd() csalarydlg dlg;if(dlg.domodal()=idok)m_pset-addnew(); m_pset-m_department =dlg.m_strdepartment; m_pset-m_id =dlg.m_strid; m_pset-m_name =dlg.m_strname; m_pset-m_salary =dlg.m_fsalary; m_pset-update(); m_pset-requery();void cex_view:onrecedit() csalarydlg dlg; dlg.m_strdepartment =m_pset-m_department; dlg.m_strid =m_pset-m_id;dlg.m_strname =m_pset-m_name; dlg.m_fsalary =m_pset-m_salary; if(dlg.domodal()=idok) m_pset-edit();m_pset-m_department =dlg.m_strdepartment;m_pset-m_id =dlg.m_strid;m_pset-m_name =dlg.m_strname;m_pset-m_salary =dlg.m_fsalary;m_pset-update();m_pset-requery();updatedata(false);void cex_view:onrecdel() crecordsetstatus status;m_pset-getstatus(status);m_pset-delete();if(status.m_lcurrentrecord=0)m_pset-movenext();elsem_pset-movefirst();updatedata(false);void cex_view:onbuttondetail() cdetaildlg dlg; dlg.domodal();void cex_view:onbuttoninfo() cinfodlg dlg; dlg.domodal();detaildlg.cpp/ cdetaildlg message handlersvoid cdetaildlg:onbuttonquery2() updatedata();m_strquery2.trimleft ();if(m_strquery2.isempty ()messagebox(要查询的员工号不能为空!);return;cstring str;str=m_strquery2;cdetailset cset;cset.m_strfilter.format(id=%s,str);cset.open();if(!cset.iseof()m_strdepartment=cset.m_department;m_fbasic=cset.m_basic;m_fbonus=cset.m_bonus;m_fwelfare=cset.m_welfare;m_ffine=cset.m_fine;m_ftotal=cset.m_total;m_strid=cset.m_id;updatedata(false);elsemessagebox(查询的员工记录不存在!);if(cset.isopen()cset.close();void cdetaildlg:onbuttonadd2() cdtabeldlg dlg;if(dlg.domodal()=idok) cdetailset pset;pset.addnew(); pset.m_department =dlg.m_strdepartment; pset.m_id =dlg.m_strid; pset.m_basic =dlg

温馨提示

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

评论

0/150

提交评论