已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
成人大专计算机信息管理专业毕业论文成人教育毕业论文(计算机信息管理专业)人事工资管理系统 班 级 姓 名 专 业 计算机信息管理 指 导 老 师 徐州工程学院成人教育学院 二一二年三月 摘 要随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事工资的管理势在必行。本系统结合某中型公司实际的人事、财务制度,经过实际的需求分析,采用功能强大的DDLPHI 5做为开发工具、Paradox7做为数据库开发出来的单机版人事管工资理系统。整个系统从符合操作简便、界面友好、灵活、实用、安全的要求出发,完成人事、工资管理的全过程,包括新进员工加入时人事档案的建立、老员工的转出、职位等的变动引起职工信息的修改、员工信息查询、统计等人事管理工作以及新进员工工资的新增、老员工工资修改、出盘、工资短信等工资管理工作。经过实际使用证明,本文所设计的人事工资管理系统可以满足某中型公司人事、工资管理方面的需要。论文主要介绍了本课题的开发背景,所要完成的功能和开发的过程。重点的说明了系统设计的重点、设计思想、难点技术和解决方案。关键词:数据库,Paradox7,Delph 5,出盘,工资短信、人事工资管理目 录第一章 绪 论41.1 课题来源41.2 开发工具的选择41.3 本文所作工作5第二章 需求分析62.1 总体需求调查62.1.1 组织结构图62.1.2 系统目标62.1.3 应用现状调查62.1.4业务总体流程调查72.2系统功能调查72.2.1人事管理功能82.2.2工资管理功能82.2.3系统维护功能82.3系统功能模块图8第三章 概要设计93.1概念设计93.2数据库设计113.2.1 ygzlb(员工资料表)123.2.2 Yhklb用户口令表123.2.3 Ygxjjgb员工薪金结构表133.2.4 Kjcsb控制参数表133.2.5 Jbcsb基本参数表14第四章 详细设计154.1启动界面设计154.1.1 功能说明154.1.2屏幕格式设计154.2 登录窗口设计164.2.1功能说明164.2.2屏幕格式设计164.2.3源程序分析164.3 主窗口设计174.3.1功能说明174.3.2屏幕格式设计184.3.3源程序分析194.4人事管理模块的实现224.4.2员工基本信息维护254.4.3员工基本信息查看:274.4.4员工基本信息条件查询284.4.5人事状况曲线:304.4.6企业员工花名册:314.5 工资管理模块的实现314.5.1出盘314.5.2员工工资结构调整454.5.3工资短信484.6系统维护模块设计524.6.1基本参数维护524.6.2 用户管理534.7系统其它功能的实现544.7.1 打开计算器544.7.2打开写字板554.7.3窗口的层叠、平铺、极小化操作554.7.4关于窗口的实现55第五章 毕业设计小结55第一章 绪 论 1.1 课题来源随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事工资的管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件;而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。不同的企业具有不同的人事、工资管理制度,这就决定了不同的企业需要不同的人事工资管理系统。某中型公司以前的所有资料都是用Foxbase来进行管理的,面对目前的实际状况,迫切需要开发一个新系统来适应这一些工作。1.2 开发工具的选择现在,市场上可以选购的应用开发产品很多,流行的也有数十种。目前在我国市场上最为流行、使用最多、最为先进的可用作企业级开发工具的产品有:Microsoft公司的Visual BasicMicrosoft公司的Visual CBorland公司的Delphi Powersoft公司的PowerBuliderJava等等在目前市场上这些众多的程序开发工具中,有些强调程语言的弹性与执行效率;有些则偏重于可视化程序开发工具所带来的便利性与效率的得高,各有各的优点和特色,也满足了不同用户的需求。然而,语言的弹性和工具的便利性是密不可分的,只有便利的工具,却没有弹性的语言作支持,许多特殊化的处理动作必需要耗费数倍的工夫来处理,使得原来所标榜的效率提高的优点失去了作用;相反,如果只强调程语言的弹性,却没有便利的工具作配合,会使一些即使非常简单的界面处理动作,也会严重地浪费程序设计师的宝贵时间。作为数据库系统的开发,Delphi是一个非常理想选择。Delphi因简单易学、功能强大、编译速度快而从众多的软件开发工具中脱颖而出。它提供了灵活的可视化设计工具,将可视化界面与面向对象技术完善、紧密地结合起来,并封装了Windows编程的复杂性。程序的规模小到简单的个人数据库应用,大到复杂的企业的多层次分布式系统,都可以使用Delphi进行开发,其友好的集成开发界面,可视化的双向开发模式,良好的数据库应用支持高效的程序开发和程序运行,备受广大程序开发人员的好评。尤其是Delphi对数据库应用的强大支持,大大提高了数据库应用软件开发的效率,缩短了开发周期,深受广大数据库应用程序设计人员的喜爱。Delphi为数据库应用开发人员提供了丰富的数据库开发组件,使数据库应用开发功能更强大,控制更灵活,编译后的程序运行速度更快。本系统采用Dephi 5而不选择Dephi 6、Dephi 7是因为开发移动2000综合业务管理系统的过程中发现其稳定性比较好,所以到现在还用它。 1.3 本文所作工作第一章 绪论部分 主要叙述课题提出背景、目前应用现状、分析比较当前开发工具,数据库技术的比较。第二章 结合软件工程方法,对系统进行需求分析、功能划分、数据流图设计,并结合数据库原理和功能划分进行ER图的绘制、数据库结构设计,第三章 根据需求分析的结果,用户概念数据模型表示数据及其相互间的联系。第四章 根据需求分析的结果,对系统进行详细设计,主要介绍用Delphi和Pradox实现每一个模块的具体功能。第五章 毕业设计小结,总结部分介绍了设计体会和编程体会,并指出了系统设计中的不足和改进的方向。第二章 需求分析2.1 总体需求调查2.1.1 组织结构图某中型公司组织结构图如下2.1.2 系统目标采用公司现有的软硬件软件及科学的管理系统开发方案,建立某中型人事工资管理系统,实现移动人事工资管理的计算机自动化。系统应符合公司人事、工资管理制度,并达到操作直观、方便、实用、安全等要求。2.1.3 应用现状调查 目前,公司使用的人事工资管理系统采用的是DOS环境下的Foxbase数据库,界面不友好,不能适应移动公司发展的需要。2.1.4业务总体流程调查 维护员工基本信息维护员工工资信息数据统计表格制作出盘结束开始维护员工基本信息:人事管理主要负责人员基本信息的维护,包括新进员工档案的建立,员工信息的修改。公司工资管理基本流程如下:数据来源:将各部门送达的员工工资信息包括基本工资、奖金、水电费等作为数据来源,分为新增员工工资数据和老员工每月修改数据。数据的输入:由工作人员通过新员工本月工资增加和老员工上月工资表修改完成。数据的统计:由工作人员通过对修改后的上月工资表进行计算得到每个人的实发工资以及总金额。表格的制作:由工作人员以修改、计算后的在上月工资表为蓝本生成与银行进行数据交换的软件即出盘。同时可打印工资报表。2.2系统功能调查整个系统从总体上分为人事管理、工资管理、系统维护三大部分,每一部分应实现的功能如下:2.2.1人事管理功能 新员工档案的输入: 员工基本信息维护:包括修改、删除(删除员工只是将该员工登记为无效,并不要求从表中删除). 员工基本信息查看: 员工基本信息查询:支持多条件查询,可以选择某一部门、某一职位、某一职称、学历、性别等进行查询,也可以组合查询。 人事状况曲线: 企业员工花名册:2.2.2工资管理功能 新员工工资新增: 员工工资修改: 出盘:按所规定的格式生成与银行进行数据交换的软件,一般为文本文件 出盘出错回滚: 工资短信:将员工本月工资信息通过短信发出,并通知领工资时间。2.2.3系统维护功能 部门信息维护:实现灵活的增减部门信息 职务信息维护:实现灵活的增减职务信息 职称信息维护:实现灵活的增减职称信息 工资账目维护:能够灵活的改变员工的薪水账目。 用户管理:包括新增用户、删除用户、修改用户密码等。2.3系统功能模块图株洲移动人事工资管理系统新增用户修改密码删除用户工资管理模块工资短信新员工工资新增老员工工资维护出 盘工资报表系统维护模块工资账目维护职务信息维护部门信息维护职称信息维护用户管理人事管理模块新员工档案的新增员工基本信息维护员工基本信息查看员工基本信息查询人事状况曲线分析企业员工花名册第三章 概要设计 3.1概念设计概要设计基础是完成需求分析后提供的需求说明书,用概念数据模型表示数据及其相互间的关系,这种数据模型是与DBMS无关的、面向现实世界的、易如理解的数据模型,其独立于计算机的数据模型,独立于计算机的软硬件系统,与用户进行交流十分方便。概念性数据模型关心的是如何完整、正确地反映客观实际情况,不关心在数据库中如何实现。这种数据模式能真实地反应用户要求的实际情况,是一种容易被人们理解的直观的数据库结构模式。同时也是一种相对稳定统一的数据模式,一般情况下很少变动。概念性数据在用户和设计者之间建立了桥梁。是设计数据库结构的基础。概念设计中自顶向下的实体分析方法,即常用的实体联系模型(简称E-R模型),对具体数据进行抽象加工,将实体集合抽象成实体类型。用实体间联系反映现实世界事物间的内在联系。E-R模型是建立概念性数据模型的有力工具。通过对企业员工管理内容、工资管理内容和过程的分析,本系统应设计的实体和属性如下:员工(包括员工工号、员工姓名、学历、性别、政治面貌、出生日期、所属部门、职称、职务、入职时间、身份证号、联系电话、家庭住址、手机号码、Email、有效标志)部门(部门代号、部门名称)职务(职务代号、职务名称)职称(职称代号、职称名称)薪金结构(月份、员工工号、薪水帐目、数目)薪水帐目(薪水帐目代号、薪水帐目名称)员工工号员工姓名学历历性别政治面貌出生日期所属部门职称职务所属部门身份证号家庭住址联系电话手机号码Email有效标志员工部门部门代号部门名称职务职务代号职务名称职称职称代号职称名称薪水帐目名称薪水帐目薪水帐目代号薪金结构薪水帐目月份数目员工工号实体和实体之间的关系E-R图如下:部门职称职务员工属于具有担任薪金结构薪水账目具有1:N具有1:N3.2数据库设计作为Borland公司的桌面数据库,Paradox在Delphi中的应用非常广泛,为此我选用Paradox数据库来进行数据库的逻辑设计。根据前面定义的实体及实休之间的关系,形成数据库的表格以及各个表之间的关系。为了减少数据冗余度,将职称实体、部门实体、职务实体、薪水帐目实体放在同一个表里,以一个类型字段加以区分。对个关系选择主健,按照关系模式的规范化进行规范,消除数据依赖中不合适的部分,使模式中的各关系模式达到某种程度的分离。3.2.1 ygzlb(员工资料表)序号域名域中文名域类型备注1Ygh员工工号Alpha(6)主键2Xm员工姓名Alpha (12)3Xb性别Alpha(2)4Zzmm政治面貌Alpha(4)5Xl学历Alpha(12)6Qsrq出生日期Alpha(19)7Ssbm所属部门Alpha(30)8Zc职称Alpha(30)9Zw职务Alpha(30)10Rzsj入职时间Alpha(19)11Sfzh身份证号Alpha(20)12Gdlxdh联系电话Alpha(16)13Jtzz家庭住址Alpha(60)14Sjhm手机号码Alpha(12)15EmailEmailAlpha(20)16Yxbz有效标志Short1代表有效员工;9代表无效员工17Czy操作员Alpha(20)18Czrq操作时间Alpha(19)说明:员工基本信息表用于存储员工基本信息,为保证数据的一致和历史资料的完整,表的记录在一般的情况不能被删除,如果发生员工离职,只更改其有效标志为9。3.2.2 Yhklb用户口令表序号域名域中文名域类型备注1Dlgh登录工号Alpha(20)主键2Pswd口令Alpha (10)说明:为了便于多个用户管理该系统,建立此表,记录用户的登录工号和口令3.2.3 Ygxjjgb员工薪金结构表序号域名域中文名域类型备注1Yf月份Alpha(6)主键2Ygh员工工号Alpha(6)主键3Xszmid薪水帐目IDShort主键4Sm数目Money5Czy操作员Alpha(6)6Czsj操作时间Alpha(19)说明:员工薪金结构表采用竖表结构,便于以后薪水帐目的新增,利于系统保持较长时间的适用。同时该表采用月帐的形式,便于历史资料的稳定查询,和统计,同时也能做到出盘发生错误时,进行回滚。在准备当前月份的数据的时候,将同时校验该员工的有效性。如果是无效员工,则系统将不会显示该员工的资料。但在历史月份还是将体现该员工的资料。系统将根据基本参数表中的工资帐目的费用影响关系(1或-1)来形成员工的应发工资和实发工资。3.2.4 Kjcsb控制参数表序号域名域中文名域类型备注1Yf序列Short主键2Csdm参数代码Alpha(20)3Csmc参数名称Alpha(40)4Czy操作员Alpha(6)5Czsj操作时间Alpha(19)说明:控制参数表用于控制出盘,在每次出盘成功后,会在该表中插入一条记录,以记录该月是否已经出盘;在需要再次出盘的时候,系统将会首先判断该月的出盘标志,如果已经出盘,则对数据库不做操作,仅仅在界面上进行出盘,生成TXT文本文件,如果未出盘则需要对数据库进行操作(将该月的数据重新插入数据库,作为下个月出盘的初始数据)3.2.5 Jbcsb基本参数表序号域名域中文名域类型备注1IDIDShort主键2Lx参数类型Short1:薪水帐目;2:部门代码;3:职务代码;4:职称代码3Mc参数名称Alpha(30)4Czy操作员Alpha(20)5Czsj操作时间Alpha(19)6Rela费用影响关系Short-1代表该项目对实发工资是负的影响;1代表该项目对实发工资是正的影响;3.2.6工资短信表序号域名域中文名域类型备注1ygh员工号Alpha(6)主键2sfgz实发工资Alpha(10)说明:基本参数表用于维护系统的一些基本参数,例如职务,职称,工资帐目等、部门。员工信息表和员工薪金结构表通过员工ID进行关联;可得知每个员工的工资明细情况;员工薪金结构表中的帐目ID在基本参数表中进行定义;员工信息表的职务ID和职称ID和部门ID也在基本参数表中进行定义; 工资短信表:是为便于发送工资短信信息而建立的,只保存当前月的工资数据。第四章 详细设计 根据需求分析、概要设计的结果,采用Delphi做为开发工具,实现公司人事工资管理各模块的功能。4.1启动界面设计4.1.1 功能说明系统运行时,首先弹出此启动窗口,4秒钟后自动关闭出现主窗口和登录窗口,实现此界面主要是修改了工程文件,并调用了一个延时函数,实现起来很简单,源程序不加以介绍。4.1.2屏幕格式设计启动界面4.2 登录窗口设计4.2.1功能说明控制员工登录,防止非法用户闯入本系统,保证系统的安全,输入口令时屏幕显示为“*”以利保密。4.2.2屏幕格式设计登录界面4.2.3源程序分析procedure TFrm_dl.Button1Click(Sender: TObject);begin if edit2.text= then /判断密码是否输入为空 begin Application.MessageBox(密码不能为空,请重新输入!,系统提示,mb_IconInformation+mb_OK); Edit2.SetFocus; Exit; end; query1.sql.clear; query1.sql.add(select pswd from yhklb where dlyh=+trim(edit1.text)+); if query1.Active then query1.close; query1.open; /根据用户名从用户口令表中取出用户口令 if edit2.textquery1.fieldbyname(pswd).asstring then begin if err_cou=2 then /判断是否三次输入错误 begin application.messagebox(三次登录的用户名或密码错误, 系统退出,mb_IconInformation+mb_OK); frm_main.close; /关闭主窗口,退出系统 end; Application.MessageBox(密码或工号不正确,请重新输入!,mb_IconInformation+mb_OK); /若密码输入错误,提示重新输入 Edit2.SetFocus; err_cou:=err_cou+1; /输入次数加1 exit; end; dluser:=edit1.text; /给变量赋值,记录登录用户,供其它程序使用 Close; end;4.3 主窗口设计4.3.1功能说明界面采用MDI方式,可同时打开几处子窗口体,在界面上放置了菜单栏和工具栏、状态栏;菜单栏集中了系统操作的入口,各功能模块的执行从此进入;工具框显示了系统菜单中常用项目的快键图标,使用户只需点击相应图标即可进入相应功能模块,当鼠标移动到相应图标时,系统会出现提示信息。状态栏主要是用于显示日期时钟信息,以及系统操作过程中的信息。4.3.2屏幕格式设计系统主界面4.3.3源程序分析procedure TFrm_main.N20Click(Sender: TObject); /菜单关闭事件beginclose; end;procedure TFrm_main.N_shutdownClick(Sender: TObject);件begin /菜单退出系统并关机事件if messagedlg(是否退出并关闭计算机?,mtinformation,mbyes,mbno,1)=mryes thenbegin close; ExitWindowsEx( EWX_FORCE or EWX_SHUTDOWN, 0 ); /调用API函数end;end;procedure TFrm_main.N_closeClick(Sender: TObject);beginclose;end;procedure TFrm_main.N_bmcxwhClick(Sender: TObject);/打开部门参数维护窗口begin Application.CreateForm(TFrm_bmxg, Frm_bmxg);if frm_bmxg.query1.active then frm_bmxg.query1.close; /判断Query是否打开frm_bmxg.query1.open; /打开Queryend;procedure TFrm_main.N_zwwhClick(Sender: TObject); /打开职务参数维护窗口begin Application.CreateForm(TFrm_zwxg, Frm_zwxg); if frm_zwxg.query1.active then frm_zwxg.query1.close; frm_zwxg.query1.open;end;procedure TFrm_main.N_ygjbxxsrClick(Sender: TObject);/打开新增员工信息窗口beginApplication.CreateForm(Tfrm_ygzbxxsr, frm_ygzbxxsr);end;procedure TFrm_main.N_yhwhClick(Sender: TObject);/打开用户维护窗口beginApplication.CreateForm(TFrm_yhgl, Frm_yhgl); if frm_yhgl.query1.active then frm_yhgl.query1.close; frm_yhgl.query1.open;end;procedure TFrm_main.Timer1Timer(Sender: TObject); var y,m,d:word; /在状态栏上显示日期时间星期 begin decodedate(now,y,m,d); statusbar1.Panels1.text:=concat(【,inttostr(y),年,inttostr(m),月,inttostr(d),日 ,formatdatetime(hh:nn:ssAM/PM,now) ,f_get_week,】);/调用函数f_get_week end;procedure TFrm_main.N_zcwhClick(Sender: TObject);/打开职称维护窗口beginApplication.CreateForm(TFrm_zcxg, Frm_zcxg); if frm_zcxg.query1.active then frm_zcxg.query1.close; frm_zcxg.query1.open;end;procedure TFrm_main.N_ygzbxxwhClick(Sender: TObject);/打开员工信息维护窗口beginApplication.CreateForm(Tfrm_ygzbxxwh, frm_ygzbxxwh);end;procedure TFrm_main.N_zbxxckClick(Sender: TObject); /打开员工信息查看窗口beginApplication.CreateForm(Tfrm_llygzbxx, frm_llygzbxx);end;procedure TFrm_main.N_tjcxClick(Sender: TObject); /打开员工信息条件查询窗口beginApplication.CreateForm(Tfrm_ygzlcx, frm_ygzlcx);end;procedure TFrm_main.N_gzzmwhClick(Sender: TObject);/打开薪水帐目维护窗口beginApplication.CreateForm(TFrm_gzzmwh, Frm_gzzmwh);if Frm_gzzmwh.query1.active then Frm_gzzmwh.query1.close;Frm_gzzmwh.query1.open;end;procedure TFrm_main.N_cpClick(Sender: TObject); /打开出盘窗口beginApplication.CreateForm(Tfrm_cp, frm_cp);end;procedure TFrm_main.N_gzdxClick(Sender: TObject); /打开工资短信窗口beginfrm_gzdx:=Tfrm_gzdx.create(application);frm_gzdx.showmodal;frm_gzdx.free;end;procedure TFrm_main.N_jsbClick(Sender: TObject); /打开写字板beginShellExecute(handle,open,notepad.exe,nil,nil,SW_ShowNormal);/调用API函数end;procedure TFrm_main.N_jsqClick(Sender: TObject); /打开计算器beginShellExecute(handle,open,calc.exe,nil,nil,SW_ShowNormal); end;procedure TFrm_main.N_ppClick(Sender: TObject); /实现窗口平铺begin TileMode := tbVertical; Tile;end;procedure TFrm_main.N_cdClick(Sender: TObject); /实现窗口层叠beginCascade;end;procedure TFrm_main.N_jxhClick(Sender: TObject); /实现窗口极小化var i:integer;beginwith frm_main do begin for i := MDIchildcount-1 downto 0 do MDIChildreni.Windowstate := wsMinimized; end;end;procedure TFrm_main.N_aboutClick(Sender: TObject); /打开关于本系统窗口beginApplication.CreateForm(Tfrm_about, frm_about);end;function Tfrm_main.f_get_week :string; /获取星期函数var days: array1.7 of string;begin days1 := 星期日; days2 := 星期一; days3 := 星期二; days4 := 星期三; days5 := 星期四; days6 := 星期五; days7 := 星期六; result :=daysDayOfWeek(now);end;procedure TFrm_main.N_ygzlbbClick(Sender: TObject); /生成企业员工花名册beginfrm_ygbb:=Tfrm_ygbb.create(application);if frm_ygbb.Query1.active then frm_ygbb.Query1.close;frm_ygbb.Query1.open;frm_ygbb.QuickRep1.Prepare;frm_ygbb.QuickRep1.Preview;frm_ygbb.Free;end;procedure TFrm_main.N_rsqxfxClick(Sender: TObject); begin /打开人事状况曲线分析窗口 Application.CreateForm(Tfrm_rsqkqxfs, frm_rsqkqxfs); if frm_rsqkqxfs.Query1.Active then frm_rsqkqxfs.Query1.Close; frm_rsqkqxfs.Query1.open;end;end.4.4人事管理模块的实现4.4.1员工基本信息输入4.4.1.1功能说明完成新员工人事档案的建立,初始状态下所有输入和选择框框均无效,只有点新增按钮后才可用,同时提交按钮变成有效。4.4.1.2屏幕格式说明新员工资料录入界面4.4.1.3源程序分析/增加按钮事件,只是将各输入框和提交按钮置为可用。procedure Tfrm_ygzbxxsr.Button3Click(Sender: TObject); /提交按钮事件var Sql: String; qsrq,rzsj,czdate: String;beginqsrq:=FormatDatetime(YYYY-MM-DD,datetimepicker1.Datetime); /出生日期rzsj:=FormatDatetime(YYYY-MM-DD,datetimepicker2.Datetime); /入职时间czdate := FormatDatetime(YYYY-MM-DD HH:MM:SS,Now); /操作时间if Application.MessageBox(您确认要提交吗?,系统提示,mb_IconInformation+mb_OK+mb_OKCancel)=IDCancel then Exit; begin if (Edit1.text=) or (Edit2.text=) then begin Application.MessageBox(姓名不能为空或员工号不能为空!,系统提示,mb_IconInformation+mb_OK); Exit; end; if trim(DBLookupComboBox1.Text) = then begin showmessage(请选择部门);exit;end; if trim(DBLookupComboBox2.Text) = then begin showmessage(请选择职务);exit;end; if trim(DBLookupComboBox3.Text) = then begin showmessage(请选择职称);exit;end; sql:=select * from ygzlb where ygh=+trim(edit1.text)+; /根据此员工号是否已存在 query1.sql.clear; query1.sql.add(sql); if query1.Active then query1.close; query1.open; if not query1.isempty then begin showmessage(此员工号已存在,请重新输入员工号); edit1.selectall; edit1.setfocus; exit; end else begin /执行插入操作,往员工资料表中插入一条记录 sql:=insert into ygzlb(ygh,xm,xb,xl,qsrq,ssbm,zc,zw,rzsj,sfzh,jtzz,gdlxdh, +sjhm,email,zzmm,yxbz,czy,czrq) +values(+Trim(Edit1.Text)+,+trim(Edit2.text)+, +combobox1.text+,+combobox3.text+,+qsrq+,+DBLookupComboBox1.keyvalue+, +DBLookupComboBox3.keyvalue+,+DBLookupComboBox2.keyvalue+,+rzsj+,+edit3.text+, +trim(edit4.text)+,+trim(edit7.text)+,+trim(edit6.text)+,+trim(edit5.text)+, +combobox2.text+,1,+dluser+,+czDate+); query1.sql.clear; query1.sql.add(sql); query1.execsql; if Application.MessageBox(该记录提交成功,继续提交吗?,系统提示,mb_IconInformation+mb_OK+mb_OKCancel)=IDCancel then begin Button3.Enabled := False; Exit; end; button1.Click; end; end;end;4.4.2员工基本信息维护4.4.2.1功能说明包括修改、删除(删除员工只是将该员工登记为无效,并不要求从表中删除).输入员工号后按回车或点击查询按钮,查询待修改员工基本信息,各输入框初始状态为只读,4.4.2.2屏幕格式说明4.4.2.3源程序分析procedure Tfrm_ygzbxxwh.Button1Click(Sender: TObject); /查询按钮事件begin if trim(edit1.text) then begin Query1.sql.clear; /根据员工号从员工资料表中取出员工信息 Query1.sql.add(select * from ygzlb where ygh=:ygh and yxbz=1); Query1.ParamByName (ygh).ASSTRING :=edit1.text; IF Query1.ACTIVE THEN Query1.CLOSE; Query1.OPEN; IF Query1.IsEmpty THEN /判断是否存在此员工,如不存在,系统提示 begin SHOWMESSAGE(对不起!没有员工档案数据!请正确输入员工号!); edit1.selectall; exit; end; DateTimePicker1.Datetime:=strtodate(query1.fieldbyname(qsrq).asstring); DateTimePicker2.Datetime:=strtodate(query1.fieldbyname(rzsj).asstring); end;end;procedure Tfrm_ygzbxxwh.Button2Click(Sender: TObject); /删除按钮事件var sql:string; /询问是否删除begin if Application.MessageBox(您确认要删除吗?,系统提示,mb_IconInformation+mb_OK+mb_OKCancel)=IDCancel then Exit; Sql := update ygzlb set yxbz=9 where ygh=+trim(edit1.text)+; Query1.Close; Query1.Sql.Clear; Query1.Sql.Add(Sql); Query1.ExecSQL; /将有效标志必为9,记录并不删除 Application.MessageBox(该记录删除成功!,系统提示,mb_IconInformation+mb_OK); end;procedure Tfrm_ygzbxxwh.Button3Click(Sender: TObject); /提交按钮事件var czdate,qsrq,rzsj:string; beginif (Query1.state=dsEdit )or( Query1.state=dsInsert) then else exit; /判断Qu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 居然之家欧凯龙合同范例
- 写油漆合同范例
- 加盟制式合同范例
- 安置房拆除合同范例
- 家具维修简易合同范例
- 商务函电合同范例
- 商场供货合作合同范例
- 单位出资培训合同范例
- 出借女友合同范例
- 小型工装合同范例
- (打印)初一英语语法练习题(一)
- (162题)2024时事政治考试题库及答案
- 人工智能推动农业现代化发展
- 2024届温州高三一模数学试题含答案
- 食品检验检测技术专业职业生涯发展
- 抖音矩阵员工培训课件
- 慢性胆囊炎的护理问题及护理措施
- 4s店防污染应急预案
- 2023北京初一数学各区第一学期期末考试题汇编(含标准答案)
- HGT 20714-2023 管道及仪表流程图(P ID)安全审查规范 (正式版)
- 小脑梗死的护理查房
评论
0/150
提交评论