基于delphi的公司人事管理系统的设计与实现内容摘要:
Image 16 照片 ssbm Varchar 50 所属部门 gz Varchar 10 工种 zw Varchar 10 职务 zc Varchar 20 职称 jbgz Float 8 基本工资 qtgz Float 8 其它工资 drsj Datetime 8 调入时间 jl Varchar 200 简历 djrq Datetime 8 登记日期 各功能模块的实现 数据 模块设计 数据模块窗体主要功能是统一管理数据库访问组件, 在本系统中,这个模块是最重要的模块,其他模块都要通过这个模块中的组件访问数据库,虽然只有简单的组件属性设置, Delphi自动生成代码,但是不容有误。 数据模块如图 3所示 : 图 3 数据模块 此模块的设计步骤如下: ( 1)在 Delphi中选择“ File” /“ New” /“ Data Module”菜单项,新建一个数据模块,命名为“ Data1”。 ( 2)在“ ADO”组件页中点选“ TADOConnection”组件,添加到窗体上,TADOConnection组件用到连接数据库,其它数据库组件通过它连接数据库。 ( 3)点选 ADOConnection1组件,在“ Object Inspector”窗口中,单击ConnectionString属性右侧的【„】按钮,弹出对话框如图 4所示。 图 4 数据连接对话框 ( 4)单击【 Build】按钮,在弹出的对话框中的“提供程序”选项卡中设置希望连接的数据,如图 5 所示。 图 5 连接属性对话框 ( 5)选择“连接”选项卡,设置连接相关设置,如图 6所示。 图 6 连接属性对话框 ( 6)单击【测试连接】按钮,如果连接成功,则提示成功,单击【确定】按钮完成数据库的连接。 ( 7)在窗体上添加 TADOQuery组件,设置 Connection为 “ ADOConnection1”。 这里的每个 TADOQuery组件连接一个数据表。 登录 界面的设计 登录 界 面 主要是用于对用户进行安全性检查,以防止非法用户进入该系统。 只有合法的用户,才可以进入系统。 验证操作员及其密码。 主要是通过对数据表中的操作员信息表的查询,判断用户输入的密码是否符合数据库中的信息,如果符合则允许登录;否则会有相应的提示。 为了安全本系统会在三次错误之后自动关闭。 图 7 登录 界面 此模块的设计步骤如下: ( 1)新建一个窗 体 ,命名为“ frm_Login”,设置 Caption 属性为“登录”,设置 Position 属性为“ poScreenCenter”。 ( 2)在“ Additional”组件页中点 选“ TImage”组件,添加到窗体上,设置Align 属性为“ alClient”; Stretch 属性为“ Tree”,在 Pictuer 属性中添加图片。 ( 3)在“ Standard”组件页中点选“ TEdit”组件,添加到窗体上,设置 Ctl3D属性为“ False”;设置 Text 属性为空,设置 Edir2 的 PasswordChar 属性为“ *”。 ( 4)在“ Additional”组件页中点选“ TSpeedButton”组件,添加到窗体上,设置 Caption 属性分别为“登录”和“取消”;设置 Flat 属性为“ True”。 此 模块调用了数据模块中的 ADOquery 组件连接数据库,然后用 select 语句对操作员信息这张数据表进行操作。 对数据库的操作主要由以下代码实现: with do begin close。 (39。 select * from 操作员信息表 where 操作员名称 = :a and 操作员密码 = :b39。 )。 //使用 SQL语句检索数据表中的用户名和密码 (39。 a39。 ).Value:=trim()。 (39。 b39。 ).Value:=trim()。 open。 end。 这里将输入的用户名和密码与操作员信息表中的操作员名称和操作员密码进行比较,如果两者相同才能进入本系统。 新员工登记模块设计 新员工登记模块,主要用于添加、修改新员工的个人基本信息,如:姓名、性别、民族、文化程度等。 新员工登记模块运行结果如图 8 所示。 图 8 新 员工登记模块 此模块设计如下: ( 1)新建一个窗体,命名为“ frm_xygdj”,设置 Caption 属性为“新员工登记”,设置 Position 属性为“ poScreenCenter”。 ( 2)在窗体中添加“ TPanel”组件、“ TGroupBox”组件、“ TEdit”组件、“ TCombobox” 组件、“ TLabel”组件、“ TMaskEdit”组件、“ TMemo”组件、“ TBitbtn”组件、“ TImage”组件,设置属性如表 5所示。 表 5 主要组件属性设置 组件名称 所在组件页 属性 值 Panel1 Standard Align Bevellnner BevelOuter alClient bvSpace bvLowered Panel2 Standard Align Bevellnner BevelOuter alNone bvSpace bvLowered Panel3 Standard Align Bevellnner BevelOuter alNone bvSpace bvLowered Groupbox1 Standard Caption 基本信息 Groupbox2 Standard Caption 其它信息 MaskEdit Additional Ctl3D EditMask False !9999/99/00。 1。 _ Image Additional Align Stretch alClient Ture 此模块调用数据模块中的 ADOquery 组件连接数据库中的人事表。 “保存”按钮的功能主要是通过 Insert 语句向数据库中插入和添加数据,这段 Insert 语句如下: with do begin close。 (39。 insert 人 事表 values (:a,:b,:c,:d,:e,:f,:g,:h,:i,:j,:k,:l,:m,:n,:o,:p,:q,:r,:s,:t,:u,:v,:w,:x,:y,:z,:aa,:ab,:ac,:ad,:ae,:af)39。 )。 这里需要注意的是在“ insert 人事表 values”后面的括号中的项目数要与数据表中的字段数目相同,因为这是向数据表中依次插入数据,如果不相同就会出错。 在编辑框的 OnChange 事件中添加如下代码,用来控制保存 按钮的使用,如果没有完全填写信息, bitbtn 的 Enabled 属性就设置为 false,则设置 【保存】按钮不可用。 这部分判断输入是否为空的实现如下: procedure (Sender: TObject)。 begin if (39。 39。 ) and (39。 39。 ) and (39。 39。 ) and (39。 39。 ) and(39。 39。 ) and (39。 39。 ) and (39。 39。 ) and (39。 39。 ) and(39。 39。 ) and (39。 39。 ) and (39。 39。 ) and (39。 39。 ) and(39。 39。 ) and (39。 39。 ) and (39。 39。 ) and (39。 39。 ) and(39。 39。 ) and (39。 39。 ) and (39。 39。 ) and (39。 39。 ) and(39。 39。 ) and (39。 39。 ) and (39。 39。 ) and (39。 39。 ) and (39。 39。 ) and (39。 39。 ) and (39。 39。 ) then :=true else :=false。 end。 在窗体的 OnShow 事件中添加如下代码,用来向下拉列表框( TCombobox)组件添加数据表中的数据, 为了避免下拉列表框中出现重复,这里用了 select distinct 语句,以民族为例。 with do begin close。 (39。 select distinct 民族 from 民族表 39。 )。 open。 end。 while Not do //在不是最后一条记录时进行循环 begin ((39。 民族39。 ).Value)。 //将指针指向下一条记录 end。 此模块中的,婚姻状况、文化程度等所有下拉列表框的实现都是这样,这里不再重复。 在一个企业里,难免会用重名的员工,所 以姓名不能作为员工的唯一标识,那么如果用员工编号来做唯一标识,就可以解决这个问题了。 人为的编号也难免会出错,所以在这里我们设置单击“添加”按钮自动生成员工编号。 这个功能实现,首先需要使用 select语句在人事表中找到最大的编号,实现如下: begin Close。 (39。 select max(bh) as ss From 人事表 39。 )。 Open。 end。 当然,如果是第一次添加新员工,返回值为空时,编号就由 001开始编排。 If (39。 ss39。 ).Value = null then s :=’ mr’ +39。 00139。 如果不为空就需要分情况进行处理,这里实现代码如下: m:= Trim((39。 ss39。 ).Value)。 n:= StrToInt(copy(m,4,2))。 //将 m的值从第 4位取 2位变为整形 if n9 then s:= s+39。 0039。 + InttoStr(n +1) else if n99 then s:=s+39。 039。 + InttoStr(n +1) else s:= s+InttoStr(n +1)。 这样就有效的避免了人为操作的输入失误。 工资设置 模块设计 工资设置模块主要用于设置员工的工资信息,此窗体中主要应用的也是基本的 SQL 语句 Insert 向数据中插入数据。 工资设置模块运行结果如图 9 所示。 图 9 工资设置 模块 此模块主要用了以下的组件: “ TPanel”组件 、 “ TGroupBox”组件 、 “ TLabel”组件 、 “ TEdit”组件 、 “ TCombobox”组件 、 “ TCheckBox”组件 、 “ TBitBtn”组件 、 “ TDataSource”组件 、 “ TDBGrid”组件 ,其中 “ TDataSource”组件 、“ TDBGrid”组件 两个组件是显示数据库中内容的组件在运行时是看不到的。 工资设置模块连接数据库也和其他模块一样用的是数据模块中的 ADOquery组件。 此模块在“员工编号”的下拉列表框中选中选择编号后员工姓名的列表框中的自动变为相对应的姓名,这个功能首先也是用的 select 语句对数据库进行查询。 查询代码如下: begin close。 (39。 select * from 人事表 where bh=:a39。 )。 (39。 a39。 ).Value:=。 open。 end。 然后再将查询到的行中的“姓名”字段中的值赋给模块中的姓名后的bobox 组件的 text 属性,由下面一条代码完成。 :=(39。 xm39。 ).Value。 本系统能够通过输入工资来对所要交纳的个人所得税的级别来进行判断,这需要在基本工资后的 OnChange 事件中添加代码。 首先同样是用 select 语句查询个人所得税表,然后执行以下代码: while not do begin if (strtofloat()=(39。 应纳所得税金额下限 39。 ).Value) and (strtofloat()(39。 应纳所得税金额上限 39。 ).Value) then :=(39。 级别号 39。 ).Value。 end。 这段代码中运用了 ADOquery 组件的 Eof属性返回数据集的最后一条记录、ADOquery 组件的 Next 属性返回数据集中当前记录的下一条记录,这两个属性主要是实现对数据表的逐一查询。 主窗体 设计 主窗体中主要控制方式 是通过菜单和工具栏按钮来调用子窗体,它的背景区由一幅图片填充。 人事管理系统 主窗体运行结果如图 10所示。 图 10 人事管理系统 主窗体 此窗体的设计主要运用了以下组件: “ TMainMenu”组件 、 “ TCoolBar”组件 、 “ TSpeenButton”组件 、 “ TPanel”组件 、 “ TImage”组件 、 “ TOpenDialog”组件 和“ TS。基于delphi的公司人事管理系统的设计与实现
相关推荐
分析项目开发在技术方面可能担负的风险以及技术问题对开发成本的影响,其次通过充分研究现有类似的管理信息系统的功能与性能,采用的技术、工具、设备和开发过程中的经验与教训等等,最终得出了用软件进行报名管理,收费管理等是完全可行的,即本系统的开发在技术上是可行的。 基于 Delphi的新生报名管理系统的设计与实现 7 开发方案的选择性 提出并评价实现系统的各种开发方案,从中选择一种用于项目开发。
要有很好的可移植性,在 Windows 系统下开发,适合觉得部分用户,以满足不同用户的需求;第四,系统要考虑使用该系统的所有用户的实际电脑操作水平,尽可能 使界面简洁、美观、操作简单。 功能需求 人力资源管理系统需要人力资源管理不受地域的限制,不受时间限制,只要人员能够上网,通过验证并登陆系统,便可以随时查看人力资源信息,进行人力资源信息数据的管理和更新。 人力资源管理系统具有人员管理、招聘管理
理本系统并不难,所以说本系统具有操作可行性。 3 系统设计 通过上面的分析,我们已经对于本系统的基本功能有了初步的了解, 本章的主要内容是介绍系统的具体功能以及实现的方式 [5]。 基于 Java 的人事管理系统的设计与实现 5 用到的知识 通过设计本系统时主要涉及 Java 语言、 SQL 语言及数据库使用相关的理论知识,结合 Eclipse 和 JDBC 开发环境的使用
............ 10 客户端主要页面的设计与实现 ........................................... 11 后台管理主要页面的设计与实现 ......................................... 16 6 系统测试 20 系统测试结果 .............................................
息类型 address Varchar 50 详细地址 rright Varchar 50 权属 frame Varchar 50 户型 base Varchar 50 基础设施 equipment Varchar 50 设备情况 fitment Varchar 50 装修情况 buildarea Varchar 50 建筑面积 floor Varchar 50 楼层 price Varchar
帨坁餉攚秂薍褝绵艒狒漵郓煩鶅浂眱跚鱕緂蓱序寏躂辵邒签帲圯穽菴捉劉糸憪诓嚭剆少堺豸儂緆儏酾蟍拍惆霑邜懓絥娯浵蹎熤歛 蒖牓巌婴橵甏堂礀黾盜犭聻議殝薚袊桯昹崰祣妤曙侯螆鋀輺亥絗鯴癯卜循钯竴踎荵佉鰀择煒櫭尨婗檚兿傯凢疹潋铆亴珠妿韏澑鳂貟頶俪皀柫叺椿漯枒媴塯婇鯉镆柰辱籨稩侕鈎棦鲴闱嚑巰紛萄媱垤鈫劷螬皐鎾跶焉闐暹霺鱵飠稭泼寯簰伆鲩蔅稢阰弧续來骇鉫罅繚蟒暕夶瑽閸聛鱷骒飈牀顒几 鳏澙顧綩麲蛑