版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算机类课程设计报告课程名称:数据库原理及应用课程设计课程设计题目:人力资源管理系统姓名:卢培河系:计算机科学与技术系专业:计算机科学与技术(专升本)年级:2008级学号:081806023指导教师:瞿赛樱职称:讲师2010年1月27日福建农林大学计算机与信息学院计算机类课程设计结果评定评语:评定内容评定指标等级成绩设计质量1.设计方案具有可行性和创新性,设计思路清晰(满分15分)优良中差2.独立进行设计工作;能运用所学知识和技能去发现与解决实际问题,设计质量较高(满分20分)优良中差3.设计需求合理,功能完善,代码简洁,结构清晰(满分20分)优良中差4.按期完成规定的任务,工作量饱满,难度较大(满分15分)优良中差报告质量1.设计报告格式规范、文字通顺,符号统一,编号齐全,书写工整规范,图表完备、整洁、正确(满分15分)优良中差2.设计报告内容充实,详细设计描述具体,各项内容合乎软件文档撰写要求(满分15分)优良中差评定结果总成绩(满分100分)指导教师签字:评定日期:目录TOC\o"1-3"\h\u1.设计目的 12.设计要求 13.设计方案 24.设计内容 24.1需求分析 24.2概要设计说明 6项目规划功能框图开发及运行环境4.3详细设计说明 16公共模块设计(Mdl_Link模块)新员工登记模块设计工资设置模块设计263644.4系统使用说明5.总结参考文献附录源代码人力资源管理系统1.设计目的2.设计要求本次设计要求系统具有以下功能:具有良好的操作界面。业务模块能够自由增加、修改及删除信息。建立数据库备份机制,并提供数据灾难恢复功能。支持数据的模糊查询机制。自动计算员工工资。自动生成员工工资报表。实现员工岗位调动操作。实现员工离职、复职操作,系统退出。3.设计方案本系统采用的设计方案是使用Delphi7.0开发,它是当月前最为流行的可视化快速应用程序开发环境,对数据库有强大的支持。后台数据库使用SQLServer2000数据库,以保证数据的安全和执行高效。人力资源管理系统是一个典型的数据库应用程序,由启动窗体、登录模块、系统主界面、系统管理模块、信息设置模块、人事管理模块、工资管理模块等组成,具体的功能模块如下:系统管理模块该模块的主要功能是单位信息、管理员设置、更改密码、重新登录。信息设置模块该模块主要功能是对部门信息、工种类型、职称类型、文化程度、政治面貌、民族类型、所得税设置、考勤设置等进行设置。人事管理人事管理模块主要功能是新员工登记、应聘登记、员工调动、员工离职、考核管理、合同管理、应聘信息浏览、员工信息浏览。工资管理工资管理模块主要是:设置员工的工资信息、生成工资报表、工资档案浏览。4.设计内容经过调查分析,要求系统具有以下功能:具有良好的操作界面。业务模块能够自由增加、修改及删除信息。建立数据库备份机制,并提供数据灾难恢复功能。支持数据的模糊查询机制。自动计算员工工资。自动生成员工工资报表。实现员工岗位调动操作。实现员工离职、复职操作,系统退出。项目规划:人力资源管理系统是一个典型的数据库应用程序,由启动窗体、登录模块、系统主界面、系统管理模块、信息设置模块、人事管理模块、工资管理模块等组成,具体的功能模块如下:系统管理模块该模块的主要功能是单位信息、管理员设置、更改密码、重新登录。信息设置模块该模块主要功能是对部门信息、工种类型、职称类型、文化程度、政治面貌、民族类型、所得税设置、考勤设置等进行设置。人事管理人事管理模块主要功能是新员工登记、应聘登记、员工调动、员工离职、考核管理、合同管理、应聘信息浏览、员工信息浏览。工资管理工资管理模块主要是:设置员工的工资信息、生成工资报表、工资档案浏览。:图1功能框架图:根据企业的需要和人力资源管理系统的特点本系统实施后应达到以下目标:使企业日常事务性的人事工作都可能通过人力资源管理软件得到快速高效的完成。降低人力资源成本。操作界面美观、标准、专业、统一,实施方法简单、方便。通过员工工资的自动计算功能,从而减轻工作人员的工作压力。通过数据备份及恢复功能,避免数据因意外而造成致命问题。开发及运行环境:系统开发平台:Delphi7.0。数据库管理系统软件:SQLServer2000。运行平台:Windowsxp/Windows2000。分辨率:最佳效果800*600。数据库设计:本系统采用SQLServer2000数据库,系统数据库名为db_manpowerinfo,数据库db_manpowerinfo中包括18个数据表。下面分别给出数据库概要说明和数据表的结构。1.数据表概要说明如图2所示的即为本系统中数据库中的数据表的树形结构图,该数据表树型结构图包含系统所有数据表。可以清晰地反应数据库信息。图2数据表树树形结构图2.数据表的结构(1)考核表考核表的作用是存入员工每个月的考核信息,考核表结构如表B.1所示。表B.1考核表结构列名数据类型长度主键否功能描述员工编号varchar5员工编号出勤天数int4出勤天数请假天数int10请假天数迟到次数int10迟到次数早退次数int4早退次数旷工天数int4旷工天数加班时数int4加班时数考核等级varchar10考核等级考核分值float8考核分值考核人varchar10考核人考核月份datetime8考核月份考核评价Varchar100考核评价(2)考勤表考勤表的作用是存放员工考核的条件,考勤表结构如表B.2所示。表B.2考勤表结构列名数据类型长度主键否功能描述旷工扣除float8旷工扣除全勤奖float8全勤奖出勤天数Int4出勤天数迟到早退次数Int4迟到早退次数加班费Float8加班费月平均工作天数Int4月平均工作天数几倍float8几倍(3)工资表工资表的作用是存放员工每个月的工资信息,工资表结构如表B.3所示。表B.3工资表结构列名数据类型长度主键否功能描述所属工资月份nvarchar15所属工资月份员工编号nvarchar5员工编号员工姓名nvarchar10员工姓名基本工资Float8基本工资加班费Float8加班费全勤奖Float8全勤奖职务津贴Float8职务津贴其它金额Float8其它金额旷工费Float8旷工费养老保险Float8养老保险失业保险Float8失业保险医疗保险Float8医疗保险其它扣额Float8其它扣额应发工资Float8应发工资应扣工资Float8应扣工资实发工资Float8实发工资备注nvarchar50备注(4)工资模板工资模板是用来存放员工的基本工资信息,工资模板表结构如表B.4所示。表B.4工资模板表列名数据类型长度主键否功能描述员工编号Nvarchar5员工编号员工姓名Nvarchar10员工姓名基本工资float8基本工资全勤奖float8全勤奖职务津贴float8职务津贴养老保险float8养老保险失业保险float8失业保险医疗保险float8医疗保险(5)人事表人事表用来存放员工的详细信息,人事表结构如表B.5所示。表B.5人事表结构列名数据类型长度主键否功能描述编号nvarchar5是编号姓名nvarchar10姓名性别nvarchar2性别身份证号nvarchar20身份证号出生年月datetime8出生年月民族varchar20民族婚姻状况Nvarchar4婚姻状况政治面貌nvarchar10政治面貌籍贯nvarchar50籍贯联系电话nvarchar20联系电话手机号码nvarchar30手机号码电子邮箱nvarchar20电子邮箱家庭地址nvarchar50家庭地址毕业院校nvarchar50毕业院校专业nvarchar20专业文化程度nvarchar10文化程度特长nvarchar50特长参加工作时间datetime8参加工作时间工龄int4工龄照片image16照片所属部门nvarchar50所属部门工种nvarchar10工种职务nvarchar10职务职称nvarchar20职称基本工资float8基本工资其它工资float8其它工资调入时间datetime8调入时间简历nvarchar200简历登记日期datetime8登记日期登记人nvarchar10登记人是否离职nvarchar10是否离职离职日期datetime8离职日期复职日期datetime8复职日期离职复员登记人varchar10离职复员登记人(6)保险表保险表用来保存员工的保险信息,保险表结构如表B.6所示。表B.6保险表结构字段名数据类型长度主键否功能描述员工编号nvarchar5员工编号员工姓名nvarchar10员工姓名养老保险money8养老保险失业保险money8失业保险医疗保险money8医疗保险(7)部门表部门表用来保存部门信息,部门表结构如表B.7所示。表B.7部门表结构字段名数据类型长度主键否功能描述部门编号nvarchar3部门编号部门名称nvarchar10是部门名称(8)操作员信息表操作员信息表用来保存操作员信息,操作员信息表结构如表B.8所示。表B.8操作员表结构字段名数据类型长度主键否功能描述操作员名称varchar20操作员名称操作员密码varchar20操作员密码(9)单位信息表单位信息表用来保存单位信息,单位信息表结构如表B.9所示。表B.9单位信息表结构字段名数据类型长度主键否功能描述单位名称varchar50单位名称法人varchar20法人创建日期datetime8创建日期单位电话varchar20单位电话单位邮箱varchar20单位邮箱单位地址varchar80单位地址单位介绍varchar100单位介绍(10)个人所得税税率表个人所得税税率表用来保存个人所得税税率信息,个人所得税税率表结构如表B.10所示。表B.10个人所得税税率表结构字段名数据类型长度主键否功能描述级别号int8级别号应纳所得税金额下限float8应纳所得税金额下限应纳所得税金额上限float8应纳所得税金额上限税率float8税率(11)工种表工种表用来保存工种信息,工种表结构如表B.11所示。表B.11工种表结构字段名数据类型长度主键否功能描述工种nvarchar20是工种(12)合同表合同表用来保存合同信息,合同表结构如表B.12所示。表B.12合同表结构字段名数据类型长度主键否功能描述合同编号nvarchar15合同编号员工编号nvarchar5员工编号登记日期datetime8登记日期合同开始日期datetime8合同开始日期合同结束日期datetime8合同结束日期合同期限int8合同期限合同期工资money8合同期工资状态nvarchar8状态备注nvarchar100备注(13)民族表民族表用来保存员工为那个民族,民族表结构如表B.13所示。表B.13民族表结构字段名数据类型长度主键否功能描述民族nvarchar20是民族(14)文化程序表文化程序表用来保存员工的文化程度,文化程序表结构如表B.14所示。表B.14文化程序表结构字段名数据类型长度主键否功能描述文化程度nvarchar20是文化程度(15)应聘信息表应聘信息表用来保存员工应聘信息,应聘信息表结构如表B.15所示。表B.15应聘信息表结构字段名数据类型长度主键否功能描述编号varchar10编号姓名varchar10姓名性别varchar2性别出生日期datetime8出生日期民族varchar20民族联系电话varchar20联系电话电子信箱varchar30电子信箱通信地址varchar100通信地址毕业院校varchar50毕业院校专业varchar20专业文化程度varchar20文化程度特长varchar20特长兴趣爱好varchar20兴趣爱好专业技能varchar100专业技能工作经历varchar100工作经历(16)政治面貌表政治面貌表用来保存员工的政治面貌,政治面貌表结构如表B.16所示。表B.16政治面貌表结构字段名数据类型长度主键否功能描述政治面貌nvarchar20是政治面貌(17)职称表职称表用来保存员工职称信息,职称表结构如表B.17所示。表B.17职称表结构字段名数据类型长度主键否功能描述职称名称nvarchar20是职称名称(18)职务表职务表用来保存员工职务信息,职务表结构如表B.18所示。表B.18职务表结构字段名数据类型长度主键否功能描述职务名称nvarchar20是职务名称文件架构图图C.1文件架构图信息设置架构图,如图C.2所示。图C.2信息设置架构图人事管理架构图,如C.3所示。图C.3人事管理架构图工资管理架构图,如图C.4所示。图C.4工资管理架构图公共模块设计(Mdl_Link模块)数据模块窗体主要功能是统一管理数据库访问组件,数据模块如图3所示。图3数据模块设计步骤:(1)在Delphi中选择“File”/“New”/“DataModule”菜单项,新建一个数据模块,命名为“Data1”。(2)在“ADO”组件页中点选“TADOConnection”组件,添加到窗体上,TADOConnection组件用到连接数据库,其它数据库组件通过它连接数据库。(3)点选ADOConnection1组件,在“ObjectInspector”窗口中,单击ConnectionString属性右侧的【…】按钮,弹出对话框如图4所示。图4数据连接对话框(4)单击【Build】按钮,在弹出的对话框中的“提供程序”选项卡中设置希望连接的数据,如图5所示。图5连接属性对话框(5)选择“连接”选项卡,设置连接相关设置,如图6所示。图6连接属性对话框(6)单击【测试连接】按钮,如果连接成功,则提示成功,单击【确定】按钮完成数据库的连接。(7)在窗体上添加TADOQuery组件,设置Connection属性为“ADOConnection1”。主窗体设计主窗体中主要控制方式是通过菜单和工具栏按钮来调用子窗体,它的背景区由一幅图片填充。人力资源管理系统主窗体运行结果如图7所示。图7人力资源管理系统主窗体1.窗体设计步骤(1)运行Delphi7,会自动创建一个窗体,设置该窗体为程序主窗体,命名该窗体为“frm_main”,设置窗体的Caption属性为“人力资源管理系统”;WindowsStyle属性为“wsMaximized”。(2)在“Standard”组件页中点选“TMainMenu”组件,添加到窗体上,双击该组件进行菜单添加,如图8所示图8主菜单设计(3)在“Win32”组件页中点选“TCoolBar”组件,添加到窗体上。(4)在“Win32”组件页中点选“TToolBar”组件,添加到TcoolBar组件上。(5)在“Additional”组件页中点选“TSpeenButton”组件,添加到TtoolBar组件上,设置Caption属性。(6)在“Win32”组件页中点选“TStatusBar”组件,添加到窗体上,双击该组件,为其添加项,如图9所示。图9任务栏设计(7)在“Standard”组件页中点选“TPanel”组件,添加到窗体上,设置Bevellnner属性为“bvSpace”,设置BevelOuter属性为“bvLowered”,设置Align属性为“alClient”。(8)在“Additional”组件页中点选“TImage”组件,添加到Panel1组件上,设置Align属性为“AlClient”,设置Stretch属性为“Tree”。(9)在“Dialog”组件页中分别选择“TOpenDialog”和“TSaveDialog”组件,依次添加到窗体上。系统登录设计系统登录主要用于对进入人力资源管理系统的用户进行安全性检查,阻止非法用户进入该系统。验证操作员及其密码,主要通过记录集结果(RecordCount)结合If语句判断用户选定的操作员及其输入的密码是否符合数据库中的操作员和密码,如果符合则允许登录,否则提示用户用户名或密码不正确,如果错误超过三次,强行退出。图10系统登录模块1.窗体设计步骤(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”。新员工登记模块设计新员工登记模块,主要用于添加、修改新员工的个人基本信息,如:姓名、性别、民族、文化程度等。新员工登记模块运行结果如图11所示。图11新员工登记模块1.窗体设计步骤(1)新建一个窗体,命名为“frm_xygdj”,设置Caption属性为“新员工登记”,设置Position属性为“poScreenCenter”。(2)在窗体中添加“TPanel”组件、“TGroupBox”组件、“TEdit”组件、“TCombobox”组件、“TLabel”组件、“TMaskEdit”组件、“TMemo”组件、“TBitbtn”组件、“TImage”组件,设置属性如表1所示。表1主要组件属性设置组件名称所在组件页属性值Panel1StandardAlignBevellnnerBevelOuteralClientbvSpacebvLoweredPanel2StandardAlignBevellnnerBevelOuteralNonebvSpacebvLoweredPanel3StandardAlignBevellnnerBevelOuteralNonebvSpacebvLoweredGroupbox1StandardCaption基本信息Groupbox2StandardCaption其它信息MaskEditAdditionalCtl3DEditMaskFalse!9999/99/00;1;_ImageAdditionalAlignStretchalClientTure工资设置模块设计工资设置模块主要用于设置员工的工资信息,此窗体中主要应用的也是基本的SQL语句Insert向数据中插入数据。工资设置模块运行结果如图12所示。图12工资设置模块1.窗体设计步骤(1)新建一个窗体,命名为“frm_gzsz”,设置Caption属性为“工资设置”,设置Position属性为“poScreenCenter”。(2)在“Standard”组件页中点选“TPanel”组件,在窗体上添加3个TPanel组件,分别命名为“Panel1”、“Panel2”、“Panel3”,设置Bevellnner属性为“bvSpace”;BevelOuter属性为“bvLowered”,分别设置Align属性为“alClient”、“alTop”、“alClient”。(3)在“Standard”组件页中点选“TGroupBox”组件,在Panel2组件上添加2个TGroupBox组件,设置Caption属性为“工资设置”和“保险设置”。(4)在“Standard”组件页中点选“TLabel”组件,添加到GroupBox1和GroupBox2组件上,按上图所示设置Caption属性。(5)在“Standard”组件页中点选“TEdit”组件,添加到GroupBox1和GroupBox2组件上,设置Ctl3D属性为“False”,设置Text属性为空。(6)在“Standard”组件页中点选“TCombobox”组件,添加到GroupBox1组件上,设置Text属性为空。(7)在“Standard”组件页中点选“TCheckBox”组件,添加到Panel2组件上,设置Caption属性为“设置保险”。(8)在“Additional”组件页中点选“TBitBtn”组件,在Panel2组件上添加4个TBitBtn组件,设置Caption属性分别为“保存”、“修改”、“删除”、“退出”,通过Glyph属性为按钮添加图片。(9)在“DataAccess”组件页中点选“TDataSource”组件,添加到窗体上,设置DataSet属性为“”。(10)在“DataControls”组件页中点选“TDBGrid”组件,添加到Panel3组件上,设置Align属性为“alClient”,DataSource属性为“DataSource1”。操作系统:Windows2000/NT/XP/ME数据库:SQLServer2000硬件配置:CPU:600MHz以上的处理器内存:64MB,推荐128MB以上硬盘:100MB以上磁盘空间分辨率:最低800×600像素建议1024×768像素颜色:256色数据库配置及安装《人力资源管理系统》采用SQLServer数据库开发,在程序首次启动时会检查所需的数据库是否已经安装;如果没有安装,则系统会弹出如图2.12所示的提示信息。图2.12登录失败提示信息2.2.1手动配置数据库附加数据库的步骤如下:(1)将程序目录data下的db_manpowerinfo_Data.MDF和db_manpowerinfo_Log.LDF文件拷贝到SQLServer2000安装路径下的“MSSQL”/“Data”目录下。如果您的计算机上没有安装SQLServer,请先安装SQLServer2000(Windows98下请安装中文版个人版),安装SQLServer2000数据库时,在身份安全验证机制选项中必须要选择“Windows和SQLServer混合安全验证机制”。sa的密码设置为空。如果您已经安装好了SQLServer2000,也可以在“企业管理器”/“数据库”/“工具”/“SQL配置属性”/“安全性”中修改当前的配置属性。(2)选择“开始”/“程序”/“MicrosoftSQLServer”/“企业管理器”项,进入SQLServer2000企业管理器。(3)在打开的“控制台根目录”窗口中,连续单击父级节点,展开至如图2.13所示。图2.13控件台根目录窗口其中“MRLX”节点为本机的服务器名称。(4)选择“数据库”文件,单击鼠标右键,选择“所有任务”/“附加数据库”项,如图2.14所示。图2.14选择附加数据库(5)此时将打开“附加数据库”窗口,单击“…”按钮,选择SQLServer2000的“MSSQL”/“Data”目录下的“”数据库,如图2.15所示。图2.15选择数据文件所在路径(6)在“指定数据库所有者”下拉列表框中选择“sa”,然后单击“确定”按钮,数据库便附加成功了。(7)单击【确定】按钮,弹出如图2.16所示的提示框。图2.16系统提示单击【确定】按钮,完成附加数据库操作。4.4.3系统登陆
(1)双击人力资源管理系统图标,系统自动运行人力资源管理系统自启动界面(2)启动界面运行后,弹出系统登录界面,在“用户名”处输入“mr”,在“密码”处输入“mingrisoft”,图3.2登录服务器单击“登录”按钮,即可以该操作员的身份进入人力资源管理系统。系统管理主要包括【单位信息】、【管理员设置】、【更改密码】、【重新登录】、【数据备份】、【数据恢复】、【退出系统】。5.总结通过这次课程设计,我明白学习是一个长期积累的过程,在以后的工作、生活中都应该不断的学习,努力提高自己知识和综合素质。在这次课程设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并向老师请教等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力,树立了对自己工作能力的信心,相信会对今后的学习工作生活有非常重要的影响。而且大大提高了动手的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我终身受益。
参考文献:1.JSP数据库系统开发完全手册人民邮电出版社2006年3月2.Delphi数据库系统开发完全手册人民邮电出版社2006年3月3.VisualBasic数据库系统开发完全手册人民邮电出版社2006年3月4.VisualC++数据库系统开发完全手册人民邮电出版社2006年3月5.JSP信息系统开发实例精选机械工业出版社王国辉、李南南等2005年7月6.VisualBasic信息系统开发实例精选机械工业出版社赵智勇、刘强等2005年7月7.SQLServer数据库开发实例解析机械工业出版社宋昆、李严等2006年1月附录主要代码:《窗体设计代码》procedureTfrm_main.FormClose(Sender:TObject;varAction:TCloseAction);beginifmessagebox(self.Handle,'真的要退出系统吗?','人力资源管理系统',mb_yesno+mb_iconquestion)=idyesthenapplication.Terminate;end; 在窗体的OnShow事件增加,并当窗体首次启动时动态创建登录窗体,代码如下:procedureTfrm_main.FormShow(Sender:TObject);beginlog:=0;//区分新员工登记窗体是为登记状态还是修改状态application.CreateForm(Tfrm_login,frm_login);//创建窗体frm_login.ShowModal;//显示窗体frm_login.free;//释放窗体end; 通过主菜单下【记事本】按钮调用记事本,单击事件代码如下:procedureTfrm_main.N57Click(Sender:TObject);beginShellExecute(handle,'open','notepad.exe',Nil,Nil,SW_SHOWNORMAL);end; 【数据备份】按钮的作用是通过保存对话框对数据库进行备份,该按钮的单击事件代码如下:procedureTfrm_main.SpeedButton4Click(Sender:TObject);varsave:string;beginsavedialog1.Filter:='备份文件(*.bak)|*.bak';//设置文件过滤savedialog1.Title:='请选择备份路径';//设置打开对话框的标题ifsavedialog1.Executethenbeginsave:=savedialog1.FileName;end;ifsave<>''thenbeginwithdata1.ADOpublicdobegintryscreen.Cursor:=crHourGlass;//改变鼠标指针的形状为沙漏形close;sql.Clear;sql.Add('BACKUPDATABASE'+'db_manpowerinfo'+'TODISK='''+save+'''');execsql;screen.Cursor:=crdefault;//设置鼠标指针为默认状application.MessageBox('数据备份成功','提示',0+64);exceptscreen.Cursor:=crdefault;application.MessageBox('数据库备份失败,请检查备份的路径或网络状态!','数据库备份', 0+mb_iconinformation);end;end;end;end;《系统登陆代码》 对进入人力资源管理系统的用户进行安全检验,执行安全检验过程代码如下: procedureTfrm_login.plogin;//自定义函数过程beginwithData1.ADOlogindobeginclose;sql.Clear;sql.Add('select*from操作员信息表where操作员名称=:aand操作员密码=:b'); //使用SQL语句检索数据表中的用户名和密码parameters.ParamByName('a').Value:=trim(edit1.Text);parameters.ParamByName('b').Value:=trim(edit2.Text);open;end;ifData1.ADOlogin.RecordCount>0then//判断用户名和密码是否存在begin//用户名和密码存在时执行以下代码czy:=data1.ADOlogin.FieldByName('操作员名称').Value;s:=true;//使s的值为true,以免重新登陆时出现错误frm_main.StatusBar1.Panels[1].Text:=czy;//在状态栏上显示当前用户名frm_main.statusbar1.Panels[3].Text:=datetostr(date());frm_main.statusbar1.Panels[5].Text:=timetostr(time());close;endelse//用户名和密码不存在时执行以下代码ifm<3then//限制密码错误不能超过三资beginapplication.MessageBox('用户名或密码错误,请重新输入!','提示',64);edit1.Clear;/清除编缉框中的内容edit2.Clear;edit1.SetFocus;endelse//当密码错误三次时强行退出beginapplication.MessageBox('您无权使用本系统!','提示',64);Application.Terminate;end;end; 在【确定】按钮的单击事件中添加如下代码:procedureTfrm_Login.Button1Click(Sender:TObject);beginm:=m+1;//记录单击的次数,用来判断输入错误的次数ifedit1.Text=''then//判断是否输入用户名application.MessageBox('请输入用户名','提示',64)elseifedit2.Text=''then//判断是否输入密码application.MessageBox('请输入密码','提示',64)elseplogin;//执行自定义函数end; 在Edti2的OnKeyDown事件中添加如下代码,通过键盘操作获得焦点:procedureTfrm_Login.Edit2KeyDown(Sender:TObject;varKey:Word;Shift:TShiftState);beginif((Key=vk_Return)or(Key=vk_Down))thenButton1Click(Sender)//当按下回键或时,按执行Button1的OnClick事件elseEdit2.SetFocus;ifKey=vk_UpthenEdit1.SetFocus;//当按下方向键↑时,使Edit1获得焦点end;end;《新员工登记模块代码》 【添加照片】按钮,主要是通过打开对话框在电脑中选择员工的照片并添加在TImage组件的Pictuer属性中,该按钮的单击事件代码如下:procedureTfrm_xygdj.Button1Click(Sender:TObject);beginopendialog1.Title:='选择照片';ifopendialog1.Executethenimage1.Picture.LoadFromFile(opendialog1.FileName);end; 在一个企业里,难免会有重名的员工,所以姓名不能做为员工的惟一标识,那么如果用员工编号来做惟一标识,就可以解决这个问题了。单击【添加】按钮自动生成员工编号。代码如下:procedureTfrm_xygdj.BitBtn2Click(Sender:TObject);vars,m:string;n:integer;begins:='mr';//给s赋一个初值Withdata1.ADOpublicdobeginClose;SQL.Clear;SQL.Add('selectmax(bh)asssFrom人事表');//查询数据库中员工编号的最大值Open;end;Ifdata1.ADOpublic.FieldByName('ss').Value=nullthen//判断查询结果s:=s+'001'//结果为空说明数据库为空,编号从001开始elsebeginm:=Trim(data1.ADOpublic.FieldByName('ss').Value);//将查找到的最从值赋给mn:=StrToInt(copy(m,4,2));//复制m的值并转换成整数型数据赋给nifn<9thens:=s+'00'+InttoStr(n+1)elseifn<99thens:=s+'0'+InttoStr(n+1)elses:=s+InttoStr(n+1);end;edit1.Text:=s;end; 【保存】按钮的功能主要是通过Insert语句向数据库中添加数据,该按钮的单击事件代码如下:procedureTfrm_xygdj.BitBtn1Click(Sender:TObject);begintrywithdata1.ADOQYygxxdobeginclose;sql.Clear;sql.Add('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)');//向人事表中插入数据parameters.ParamByName('a').Value:=trim(edit1.Text);//插入编号parameters.ParamByName('b').Value:=trim(edit2.Text);//插入姓名parameters.ParamByName('c').Value:=trim(combobox8.Text);//插入性别parameters.ParamByName('d').Value:=trim(edit10.Text);//插入身份证号parameters.ParamByName('e').Value:=strtodate(maskedit3.Text);//生日parameters.ParamByName('f').Value:=trim(combobox1.Text);//插入民族parameters.ParamByName('g').Value:=trim(combobox7.Text);//插入婚姻状况parameters.ParamByName('h').Value:=trim(combobox2.Text);//插入政治面貌parameters.ParamByName('i').Value:=trim(edit5.Text);//插入籍贯parameters.ParamByName('j').Value:=maskedit4.Text;//插入联系电话parameters.ParamByName('k').Value:=trim(edit9.Text);//插入手机号码parameters.ParamByName('l').Value:=trim(edit13.Text);//插入电子邮箱parameters.ParamByName('m').Value:=trim(edit12.Text);//插入家庭地址parameters.ParamByName('n').Value:=trim(edit6.Text);//插入毕业院校parameters.ParamByName('o').Value:=trim(edit7.Text);//插入专业parameters.ParamByName('p').Value:=trim(combobox9.Text);//插入文化程度parameters.ParamByName('q').Value:=trim(edit8.Text);//插入特长parameters.ParamByName('r').Value:=trim(maskedit5.Text);//参加工作时间parameters.ParamByName('s').Value:=i;//插入工龄parameters.ParamByName('t').Assign(image1.Picture.Bitmap);/插入照片parameters.ParamByName('u').Value:=trim(combobox4.Text);//插入所属部门parameters.ParamByName('v').Value:=trim(combobox3.Text);//插入工种parameters.ParamByName('w').Value:=trim(combobox5.Text);//插入职务parameters.ParamByName('x').Value:=trim(combobox6.Text);//插入职称parameters.ParamByName('y').Value:=strtodate(maskedit1.Text);//调入时间parameters.ParamByName('z').Value:=memo1.Text;//插入简历parameters.ParamByName('aa').Value:=strtodate(maskedit2.Text);//登记日期parameters.ParamByName('ab').Value:=trim(edit16.Text);//插入登记人parameters.ParamByName('ac').Value:='否';//插入是否离职parameters.ParamByName('ad').Value:=null;//离职日期parameters.ParamByName('ae').Value:=null;//复职日期parameters.ParamByName('af').Value:=null;//离职复员登记人execsqlend;editclear;//执行自定义的清除函数application.MessageBox('保存成功!','提示',64);exceptapplication.MessageBox('系统出错!','提示',64);end;end; 【修改】按钮的功能主要是对当前数据做出修改,该按钮的单击事件代码如下:procedureTfrm_xygdj.BitBtn5Click(Sender:TObject);beginifmessagebox(self.Handle,'确定要修改吗?','提示',mb_yesno+mb_iconquestion)=idyesthenbegintrywithdata1.ADOQuery1dobeginedit;fieldbyname('bh').Value:=trim(edit1.Text);fieldbyname('xm').Value:=trim(edit2.Text);fieldbyname('mz').Value:=trim(combobox1.Text);fieldbyname('xb').Value:=trim(combobox8.Text);fieldbyname('csrq').Value:=trim(maskedit3.Text);fieldbyname('hyzk').Value:=trim(combobox7.Text);fieldbyname('whcd').Value:=trim(combobox9.Text);fieldbyname('zzmm').Value:=trim(combobox2.Text);fieldbyname('byyx').Value:=trim(edit6.Text);fieldbyname('zy').Value:=trim(edit7.Text);fieldbyname('tc').Value:=trim(edit8.Text);fieldbyname('dzyx').Value:=trim(edit13.Text);fieldbyname('lxdh').Value:=trim(maskedit4.Text);fieldbyname('sjhm').Value:=trim(edit9.Text);fieldbyname('jg').Value:=trim(edit5.Text);fieldbyname('sfzh').Value:=trim(edit10.Text);fieldbyname('jtdz').Value:=trim(edit12.Text);fieldbyname('cjgzsj').Value:=trim(maskedit5.Text);fieldbyname('gz').Value:=trim(combobox3.Text);fieldbyname('gl').Value:=trim(edit15.Text);fieldbyname('ssbm').Value:=trim(combobox4.Text);fieldbyname('zw').Value:=trim(combobox5.Text);fieldbyname('zc').Value:=trim(combobox6.Text);fieldbyname('djrq').Value:=trim(maskedit2.Text);fieldbyname('djr').Value:=trim(edit16.Text);fieldbyname('drsj').Value:=trim(maskedit1.Text);fieldbyname('jl').Value:=trim(memo1.Text);fieldbyname('zp').Assign(image1.Picture.Bitmap);post;end;application.MessageBox('修改成功','提示',64);exceptapplication.MessageBox('修改失败','提示',64);end;close;end;end; 在编辑框的OnChange事件中添加如下代码,用来控制保存按钮的使用,如果没有完全填写信息,【保存】按钮不可用。procedureTfrm_xygdj.Edit1Change(Sender:TObject);beginif(edit1.Text<>'')and(edit2.Text<>'')and(edit5.Text<>'')and(edit6.Text<>'')and(edit7.Text<>'')and(edit8.Text<>'')and(edit9.Text<>'')and(edit10.Text<>'')and(edit12.Text<>'')and(edit13.Text<>'')and(edit15.Text<>'')and(edit16.Text<>'')and(combobox1.Text<>'')and(combobox2.Text<>'')and(combobox3.Text<>'')and(combobox4.Text<>'')and(combobox5.Text<>'')and(combobox6.Text<>'')and(combobox7.Text<>'')and(combobox8.Text<>'')and(combobox9.Text<>'')and(combobox1.Text<>'')and(maskedit1.Text<>'')and(maskedit2.Text<>'')and(maskedit3.Text<>'')and(maskedit4.Text<>'')and(maskedit5.Text<>'')thenbitbtn1.Enabled:=trueelsebitbtn1.Enabled:=false;end; 在窗体的OnCreate
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公寓服务合同范例
- 业主自主开发楼盘合同范例
- 出租宾馆房屋合同范例
- 企业股质押合同范例
- 专注力培训合同范本
- 农用耕地转让合同范本
- 公司股购车合同范例
- 供销合同范例食品
- 上海装饰公司合同范本
- 医疗 赔偿 合同范例
- 行业会计比较(第三版)PPT完整全套教学课件
- 值机业务与行李运输实务(第3版)高职PPT完整全套教学课件
- 高考英语语法填空专项训练(含解析)
- 42式太极剑剑谱及动作说明(吴阿敏)
- 部编版语文小学五年级下册第一单元集体备课(教材解读)
- GB/T 10095.1-2022圆柱齿轮ISO齿面公差分级制第1部分:齿面偏差的定义和允许值
- 仁爱英语九年级下册单词表(中英文)
- 危险化学品企业安全生产标准化课件
- 巨鹿二中骨干教师个人工作业绩材料
- 《美的历程》导读课件
- 心电图 (史上最完美)课件
评论
0/150
提交评论