毕业设计论文-基于delphi的公司人事管理系统的设计与实现内容摘要:

8其它金额kgfFloat8旷工费ylbxFloat8养老保险sybxFloat8失业保险ylbxFloat8医疗保险qtkeFloat8其它扣额yfgzFloat8应发工资ykgzFloat8应扣工资sfgzFloat8实发工资bzvarchar50备注4.人事表人事表用来存放员工的详细信息,人事表结构如表4所示。 表4 人事表字段名数据类型长度主键否功能描述bhVarchar5是编号xmVarchar10姓名xbVarchar2性别sfzhVarchar20身份证号csnyDatetime8出生年月mzVarchar20民族hyzkVarchar4婚姻状况zzmmVarchar10政治面貌jgVarchar50籍贯nxdhVarchar20联系电话sjhmVarchar30手机号码dzyxVarchar20电子邮箱jtdzVarchar50家庭地址byyxVarchar50毕业院校zyVarchar20专业whcdVarchar10文化程度tcVarchar50特长gzsjDatetime8参加工作时间gnInt4工龄zpImage16照片ssbmVarchar50所属部门gzVarchar10工种zwVarchar10职务zcVarchar20职称jbgzFloat8基本工资qtgzFloat8其它工资drsjDatetime8调入时间jlVarchar200简历djrqDatetime8登记日期 各功能模块的实现 数据模块设计数据模块窗体主要功能是统一管理数据库访问组件,在本系统中,这个模块是最重要的模块,其他模块都要通过这个模块中的组件访问数据库,虽然只有简单的组件属性设置,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 主要组件属性设置组件名称所在组件页属性值Panel1StandardAlignBevellnnerBevelOuteralClientbvSpacebvLoweredPanel2StandardAlignBevellnnerBevelOuteralNonebvSpacebvLoweredPanel3StandardAlignBevellnnerBevelOuteralNonebvSpacebvLoweredGroupbox1StandardCaption基本信息Groupbox2StandardCaption其它信息MaskEditAdditionalCtl3DEditMaskFalse!9999/99/00。 1。 _ImageAdditionalAlignStretchalClientTure此模块调用数据模块中的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)。 beginif (39。 39。 ) and (39。 39。 ) and (39。 39。 ) and (39。 39。 ) then:=trueelse:=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。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。