毕业设计-基于delphi的公司人事管理系统的设计与实现—论文内容摘要:
Varchar 10 文化程度 tc Varchar 50 特长 gzsj Datetime 8 参加工作时间 gn Int 4 工龄 zp 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 人事管理系统 主窗体 此窗体的设计主要运用。毕业设计-基于delphi的公司人事管理系统的设计与实现—论文
相关推荐
、培训实体、应聘实体、招聘实体。 数据库逻辑结构设计 数据的概念结构设计完之后,可以将上面的数据库概念结构转化为某种数据库系统所支持的实际数据模型,也就是数据库的逻辑结构。 系统数据库中各表的详细设计 请看下 面各表。 ( 1) educate(培训信息表) 培训信息表主要用于保存培训信息,如表 所示。 字段名 数据类型 长度 是否主键 描述 东北大学秦皇岛分校毕业设计(论文) 第 9 页 id
EwZQc@UE%amp。 qYp@Eh5pDx2zVkumamp。 gTXRm 6X4NGpP$vSTTamp。 ksv*3t nGK8!z89Am YWpazadNuKNamp。 MuWFA5ux^Gj qv^$UE9wEwZQc@UE%amp。 qYp@Eh5pDx2zVkumamp。 gTXRm 6X4NGpP$vSTTamp。 ksv*3t nGK8!z89Am
YWRr Wwc^vR9CpbK! zn%MzadNuKNamp。 MuWFA5uxY7JnD6YWRrWwc^vR9CpbK! zn% Mz849Gx^Gj qv^$UE9wEwZQc@UE%amp。 qYp@Eh5pDx2zVkumamp。 gTXRm6X4NGpP$vSTTamp。 ksv*3t nGK8! z89Am YWpazadNuKNamp。 MuWFA5ux^Gj
........................................................... 35 需求测试 ...................................................................................................................................
usion, iCAT, Tango 与自行发展的应用软体。 当您正使用 Dreamweaver 在设计动态网页时,所见即所得的功能,让您不需要透过浏览器就能预览网页。 梦幻样版和 XML Dreamweaver 将内容与设计分开,应用于快速网页更新和团队合作网页编辑。 建立网页外观的样版,指定可编辑或不可编辑的部份,内容提供者可直接编辑以样式为主的内容却不会不小心改变既定之样式。
处理客户机程序提出的请求 ,然后返回结果。 C/S 模式特点: (1)C/S 模式将应用与服务分离 ,系统具有稳定性和灵活性 (2)C/S 模式配备的是点对点的结构模式 ,适用于局域网 ,有可靠的安全性 (3)由于客 户端实现与服务器端的直接连接 ,没有中间环节 ,因此响应速度快 (4)在 C/S 模式中 ,作为客户机的计算机都要安装客户机程序 ,一旦软件系统升每台客户机都要安装客户机程序