文档详情

人力资源管理系统【行业知识】

8**
实名认证
店铺
DOC
805.50KB
约45页
文档ID:155752921
人力资源管理系统【行业知识】_第1页
1/45

四川信息职业技术学院毕业设计说明书   设计题目: 电子工程系人力资源管理系统 专 业: 物联网应用技术 班 级: 物联网 12-1 学 号: 1290012 姓 名: 赵 晶 晶 指导老师: 曾 妍 二〇一四年十一月十六日浅红四川信息职业技术学院毕业设计任务书学 生姓 名赵晶晶学号1290012班级 物联网12-1专业物联网程技术设计题目电子工程系人力资源管理系统指导教师姓名职 称工作单位及所从事专业联系方式备注曾妍讲师四川信息职业技术学院电子工程系教师1588395510818980153997设计内容:1、利用C#和SQL Sever进行数据库项目开发;2、技术要求: (1)项目功能设计 (2)项目三层架构设计 (3)数据库设计 (4)数据访问层功能实现 (5)业务逻辑层功能实现 (6)窗体功能实现进度安排:1.收集有关资料并消化吸收------9月17日~9月22日;2.制定设计方案----------------9月23日~10月6日;3.软件设计--------------------10月7日~11月3日;5.系统仿真测试作--------------11月4日~11月10日; 6.撰写设计报告----------------11月11日~11月25日;7.毕业答辩-----------——-----11月26日~11月28日。

主要参考文献、资料(写清楚参考文献名称、作者、出版单位):  [1] 郭睿智,张学志主编.C#+SQL Server 项目开发实践.中国铁道出版社,2007  [2] 刘甫迎,刘光会等主编.C#程序设计教程.电子工业出版社,2008  [3] 美国微软公司.visual C# 2008 帮助信息,2007  [4] 邵鹏鸣主编.C#面向对象程序设计.清华大学出版社,2008  [5] 特罗尔森著.C#与.NET 3.5高级程序设计.朱晖等译.人民邮电出版社,2009  [6] 沉舟等著.Microsoft.Net编程语言 C#教程.北京希望电子出版社,2001  [7] 袁开鸿主编.C#程序易懂易会教程.清华大学出版社,2009  [8] 曾文权编著.Visual C#.NET程序设计基础.西安电子科技大学出版社,2008  [9] 明日科技主编.C#范例宝典.人民邮电出版社,2009审批意见教研室负责人:年 月 日目 录目 录 I摘 要 1第一章 人力资源管理 21.1 人力资源管理流程图 21.2 人力资源管理的需求分析 31.3 人力资源管理的体系的构成 31.3.1 职员信息管理模块 41.3.2 薪酬福利管理模块 41.3.3 考勤管理模块 51.3.4 人事档案管理模块 51.3.5 社会保障管理 51.3.6 招聘管理模块 61.3.7 合同管理模块 7第二章 项目三层架构的介绍 82.1 三层架构的依赖关系和作用 82.2 窗体表示层 92.3 业务逻辑层 92.4 数据访问层 10第三章 窗体表示层的绘制 123.1 登录窗体的绘制 123.2 主窗体的绘制 133.3 机构详细信息窗体绘制 143.4 职员信息维护窗体绘制 153.5 职员信息查询窗体的绘制 163.6 当月工资管理窗体绘制 173.7 工资发放历史窗体绘制 183.8 个人所得税窗体绘制 193.9 职员奖励窗体的绘制 20第四章 数据库的分析与设计 224.1 数据库模块结构图 224.2 数据库逻辑结构的创建 22第五章 系统调试 275.1 软件简介 275.2 系统调试 27总 结 31致 谢 32参考文献 33附 录 34浅红摘 要一个企业要想在激烈的市场竞争者立于不败之地,人力资源的管理是十分重要的一部分,因为企业员工的工资,员工对工作的投入,对企业的责任感都属于人力资源的范畴。

一个合理的薪酬制度、管理制度,“公平、公正、合理”的执行对员工的管理仅仅靠规章制度和政策是远远不够的,这就需要一个公开透明的人力资源管理系统有了这样一个系统会大大减少企业的管理成本;对企业的运作、薪酬管理、奖惩管理、合同管理、劳资纠纷、风险规避会有很大辅助作用本项目主要利用vs2010和SQL数据库仿真软件进行仿真实现电子工程系人力资源管理的各个小项目,在项目中我们主要实现职员信息管理模块、薪酬福利管理模块、考勤管理模块、人事档案管理模块、社会保障管理模块、招聘管理模块以及合同管理模块关键词 职员信息;薪酬福利;人力资源 第一章 人力资源管理人力资源管理的任务:根据企业发展战略的要求,有计划的对人力、资源进行合理配置,通过对企业员工的招聘、培训、使用、考核、评价、鼓励、调整等一系列要求,调动员工的积极性,发挥员工的潜能,为企业创造价值,确保企业战略目标的实现在本项目中我们电子工程系老师总共有老师38位,其中2位领导,专职员4位,专职干事有4位本项目主要介绍人力资源系统的客观性及可管理性;通过本项目的实施希望可以给各位老师展现出学校管理的不易,以及学校管理系统的完整性人力资源管理包括人力资源规划、岗位分析与描述、企业招聘员工录用、员工的培训、绩效考核、奖励惩罚、人事调动和劳资关系等。

如下图所示图1-1 人力资源管理内容1.1 人力资源管理流程图从员工使用的程序来看,人力资源管理流程为:人力资源部门根据企业的目标,岗位需要,按照职务说明书招聘和条件的员工,员工进入公司后,通过上岗培训,具备上岗资格后担任某一职务员工在工作一段时间后,公司要对员工进行考核,考核结果形成的信息反馈是人员调整的(奖励、晋升、降级、辞退)依据流程图如图1-2所示图1-2 人力资源管理流程图1.2 人力资源管理的需求分析根据人力资源管理内容和任务分析,一个标准的人力资源管理系统应该包括建构编制管理、人员信息管理、薪资福利管理等基本功能,如图1-3所示而作为一个完整时的数据库系统还应该包括“用户登录管路系统模块”;系统模块“权限设置”、“数据库备份”、“数据库恢复”等图1-3 “人力资源管理系统”基本功能1.3 人力资源管理的体系的构成人力资源管理的体系构成如图1-4所示图1-4  人力资源管理体系构成图1.3.1 职员信息管理模块职员信息管理模块用于管理和查询企业员工的相关信息,其功能如图1-5所示图1-5 “职员信息管理”模块1.3.2 薪酬福利管理模块“薪酬福利管理”模块用于管理企业员工的薪酬和福利,所包含的子功能模块如图1-6所示。

图1-6 “薪酬福利管理”模块1.3.3 考勤管理模块“考勤管理”模块用于管理和查询企业员工的工作出勤情况,其中包括的子功能模块如图1-7所示该功能要和考勤机配套使用,员工的上下班时间自动记录并转入系统中,当然在系统中要提供人工录入的功能,这样即便没有考勤机亦可使用此功能图1-7 考勤管理模块1.3.4 人事档案管理模块“人事档案管理”功能模块用于管理和查询企业员工人事档案的相关信息,其中包含的子功能模块如图1-8所示图1-8 人事档案管理模块1.3.5 社会保障管理“社会保障管理”功能模块用于管理企业员工的社保信息,所包含的子功能模块如图1-9所示图1-9 “社会保障管理”模块1.3.6 招聘管理模块“招聘管理”功能模块用于管理和跟踪企业招聘新员工的全过程,所包含的子功能模块如图1-10所示图1-10 “招聘管理”模块1.3.7 合同管理模块“合同管理”模块用于管理企业和员工间所有合同的信息,其所有的子功能模块如图1-11所示图1-11 “合同管理”模块第二章 项目三层架构的介绍2.1 三层架构的依赖关系和作用项目三层架构主要分为窗体表示层、数据访问层和业务逻辑层各层之间相互依赖、相互协作来实现软件的各项功能,在三层架构中,各层之间相互依赖,窗体表示层依赖于业务逻辑层,业务逻辑层依赖于数据访问层。

表示层只允许引用业务逻辑层,不允许直接引用数据访问层,同时各层项目之间不允许循环引用各层之间的数据传递方向分为请求与响应两个方向,表示层接受用户的请求根据用户的请求去通知业务逻辑层,业务逻辑层收到请求后首先对请求进行审核,然后将请求通知数据访问层或直接返回给表示层,数据访问层收到业务逻辑层的数据请求后开始访问数据库;数据访问层通过对数据库的访问把请求结果返回给业务逻辑层,业务逻辑层首先对结果进行审核,然后将请求结果通知表示层,表示层再把结果展示给用户,三层结构的依赖关系如下图所示:图2-1 三层架构的依赖关系和传递方向2.2 窗体表示层表示层位于最上层,离用户最近,主要用于显示数据和接收用户数据输入,为用户提供一种交互式操作界面表示层的主要功能如下:1. 为用户显示数据2. 接收用户输入数据,进行数据验证检查3. 向业务逻辑层发送用户输入4. 从业务逻辑层接收结果5. 向用户显示错误信息窗体表示层我们主要在第三章中介绍,在这里就不多做介绍2.3 业务逻辑层业务逻辑层是表示层和数据访问层之间的通讯桥梁,主要负责数据的传递和处理,如用户输入数据有效性检验、业务逻辑描述等相关功能业务逻辑层在项目中通常表现为类库项目。

其主要功能如下:1. 从用户界面层接受请求2. 根据编码的业务规则处理请求3. 从数据访问层获取数据或将数据发送到数据访问层4. 将处理结果传递回用户层界面在本项目中我们编写多个类库项目,在业务逻辑层中我们使用调用的方式调用数据访问层CommonDB.cs中的增、删、查、改以及记录的查询和是否添加的方法,再在数据访问层通过调用数据库中的数据集的内容,同时反馈回我们所需要请求的数据,再反馈回业务逻辑层,最后反馈回窗体表示层展现出效果在窗体表示层中分别通过调用业务逻辑层中编写的类来实现窗体表示层的功能,基本上每个窗体都有相对应的的类图2-2 业务逻辑层的依赖关系2.4 数据访问层数据访问层主要实现对数据库中的数据进行读取或写入操作,数据访问层通常也表现为类库项目数据访问层项目执行从数据库(或其他数据服务)获取数据或向数据库发送数据的功能在分布式应用程序结构中,其相应的功能通常使用ADO.NET数据适配器和SQL服务器的存储过程来完成其功能主要如下:1. 从业务逻辑层接受请求,从数据服务获取数据或向其发送数据2. 使用存储过程获取数据,并可选用ADO.NET向数据库发送数据3. 使数据库查询结果返回到业务逻辑层,作为ADO.NET数据集。

本项目中业务逻辑层主要有以下的功能:首先我们会有“GetConnection”函数,这个函数的功能是用于连接数据库,通过获取连接的对象将数据库与项目相连接,在项目中我们会在业务逻辑层编写相应的类对此函数进行调用,然后由窗体专线出我们所需要的效果,此函数最主要的功能就是获取连接对象,使数据库与项目的功能需求相结合并展示出来然后我们在项目中的数据访问层中编写了“GetDataReader”函数,“GetDataReader”在项目中相对来说较为重要,因为必须要此函数我们才能读取出数据库中的数据然后从本层将数据返回给业务逻辑层进行数据的解析,在此函数中我们同样会在业务逻辑层中对此函数进行调用,然后由窗体表示层调用业务逻辑层中我们自己编写的类来实现功能再然后我们编写获取数据集的的函数“GetDataSet”,此函数的功能就是在数据库中获取数据,从窗体表示层对业务逻辑层进行调用,然后在业务逻辑层对数据访问层中“GetDataSet”函数进行调用,此时“GetDataSet”函数就通过先前与数据库相连接然后获取数据库中相对应表中的数据 此函数的功能在整个项目中较为重要,在每个窗体中基本上都需要“ExcuteSql”函数的功能,函数中增、删、查、改的功能都需要此函数来实现,同样是由窗体表示层开始对业务逻辑层中我们编写的类进行调用,再在业务逻辑层中数据访问层中的“ExcuteSql”函数进行调用,以上的功能函数把数据库打开、读取对象、获取数据集并把数据库中的数据进行相应的调用。

此函数就是最后实现功能的地方,通过调用此函数在窗体表示层才会完整的把数据展现出来在此项目中必须一步不少的把函数编写在本层中,数据访问层在项目中充当重要的一环,在项目中一共四个部分,每一个部分都有自己的功能,缺一不可 第三章 窗体表示层的绘制3.1 登录窗体的绘制由于本项目为人力资源管理系统项目不是所有的人都能进入此系统,故需要登录窗体来约束和阻挡非本系统人员登录在登录窗体中我们实现当当输入“用户编号”、“部门”、“姓名”、“性别”以及“密码”后可以进入窗体的主界面并且在某些功能为空时我们会给出提示,并要求输入功能才能进入主窗体当按取消按键时窗体会退出系统图3-1 登录窗体的绘制表3-1 登录窗体属性值菜单项属性取值菜单项属性取值FromNameButtonNamebtnLoginText人力资源管理者登陆Text登录LableNameButtonNamebtnCancelText姓名Text登录LablePwdText密码3.2 主窗体的绘制在主窗体中我们可以看到机构编制管理中的机构设置及编码和机构详细信息两项功能;在职员信息管理中的职员信息维护和职员信息查询两项功能;在薪资福利管理中的当月工资计算、个人所得税率、工资发放历史、职员奖励管理及职员惩罚管理等几项功能。

在主窗体中我们主要通过编写登录窗体的代码来实现通过登录进入主窗体,在主窗体中点击各个功能窗体并实现其功能图3-2 主窗体的绘制表3-2 住窗体属性值菜单栏菜单项属性取值MenuItemDepText机构编制管理MenuItemDepManageText机构设置及编码MenuItemDepInfoText机构详细信息MenuItemPeopleText职员信息管理MenuItemPeopleManageText职员信息维护MenuItemPeopleQueryText职员信息查询MenuItemSalaryText薪资福利管理MenuItemSalaryManageText当月工资计算MenuItemTaxInfoText个人所得税率MenuItemSalaryHisText工资发放历史MenuItemPrizeText职员奖励管理MenuItemPunishText职员惩罚管理3.3 机构详细信息窗体绘制frmDepManage窗体实现了机构详细信息功能,用于设置机构的层次关系,但是只显示了机构的基本详细信息其他的信息没有显示在此窗体中我们实现了信息的查询、修改、保存以及删除等功能,并在窗体中显示出我们所需要显示的信息。

图3-4 机构详细信息窗体绘制表3-4 机构详细信息窗体属性值控件类型对象名属性取值FormfrmDepInfoText机构详细信息DataGirddgdDepInfoDockFillLableLableText内部编号LableLableText类别LableLableText类别号LableLableText单位编号LableLableText单位名称LableLableText单位地址LableLableText单位号码LableLableText开户银行LableLableText账号ButtoncheckText查询ButtonbtnModifyText修改ButtonbtnSaveText保存ButtonbtnDelText删除TextBoxTextBox1TextBox1TextBox13.4 职员信息维护窗体绘制frmPeopleManage职员信息维护功能是用于输入和修改职员资料,通过判断并修改职员的资料,同时可输入职员的资料通过连接数据库我们可以修改以及添加职员的信息,在此窗体中输入修改和保存的信息,同样在此窗体我们可以查询我们输入的修改信息 图3-5 职员信息维护窗体绘制表3-5 职员信息维护窗体属性值控件类型对象名属性取值FormfrmPeopleManageText职员维护ToolStripToolStrip1Text保存ToolStripToolStrip1Text删除ToolStripToolStrip1Text查询ToolStripToolStrip1Text修改LableLableText职员编号LableLableText姓名LableLableText性别LableLableText出生日期LableLableText年龄LableLableText籍贯LableLableText民族LableLableText文化程度LableLableText毕业院校LableLableText健康状况LableLableText婚姻状况LableLableText身份证ComboBoxcbbSexText男、女ComboBoxcbbNatureText汉、壮等ComboBoxcbbCityText南充、广元等TextBoxTextBox1TextBox1TextBox1toolStriptoolStrip1Text保存、删除、查询、修改3.5 职员信息查询窗体的绘制职员信息查询窗体主要用于查询职员的信息,由于在本操制作系统中对于不同级别的用户有不同的操作权限职员的信息并不是所有登录用户都可以进行操作的,本窗体主要用于查询职员的基本信息,我们可以看到我们首先为窗体添加相对应的类,这个类主要用于连接数据库并根据查询的条件进行职员的基本信息查询,最后通过加载数据以及设置数据源来查询数据库的中我们预先设置的职员的基本信息,查询条件主要是姓名。

通过条件并调用相对应的类中的方法来实现功能图3-6 职员信息查询窗体绘制表3-6 职员信息查询窗体属性值控件类型对象名属性取值FormfrmPeopleQueryText职员信息查询TextBoxtxbNameCodeTextBoxTextBoxButtonButton1button1查找DataGirddgdPepInfoAnchorTop、Button、Left、Right3.6 当月工资管理窗体绘制当月工资管理用于实现管理员工当月工资的实现,还具有保存和删除信息的功能,在窗体中我们可以添加和删除相对职员的信息添加相对应的类中的方法并调用此方法实现导入窗体表示层的功能图3-7 当月工资管理窗体绘制表3-7 当月工资管理属性值控件类型对象属性取值FromSalaryManageText当月工资管理LableLableText当前月LableLableText导入月LableLableText职员编号LableLableText职员姓名LableLableText工资合计LableLableText房补LableLableText基本工资LableLableText浮动工资LableLableText合同补LableLableText考核工资LableLableText临时补贴LableLableText职务工资LableLableText工龄工资LableLableText住房公积金LableLableText奖金LableLableText房租LableLableText水电费LableLableText工伤保险LableLableText请假扣LableLableText考勤扣LableLableText罚款LableLableText生育保险LableLableText医疗保险LableLableText失业保险LableLableText养老保险TextBoxTextBox1TextBox1TextBox1ButtonbtnGetSalaryText导入工资DataGirddgdPepInfoAnchorTop、Button、Left、RighttoolStriptoolStrip1Text保存、删除3.7 工资发放历史窗体绘制本窗体主要用于实心职员历史工资的查询,在窗体中我们预先设置查询条件,条件分别是月份和职员姓名,窗体功能实现查询功能,并在“查询”按键的事件使用相应的代码编写出来。

图3-8 工资发放历史窗体绘制表3-8 工资发放历史窗体属性值控件类型对象名属性取值FormSalaryHisText工资历史发放TextBoxtxbMonthTextTextBoxtxbPeopleCodeTextButtonbtnSearchText查询DataGirddgdSalalryInfoAnchor全选3.8 个人所得税窗体绘制frmTaxInfo窗体主要用于实现个人所得税的信息的展示,通过工具栏编写toolStrip添加Button事件响应函数将数据库的信息进行修改,并在通过数据库保存下来,打开数据库可以看到我们修改的信息展示在数据库中,本项目中我们通过添加相对应的类连接数据库并在数据库中进行数据的修改图3-9 个人所得税率窗体绘制表3-9 个人所得税率窗体属性值控件类型对象名属性取值FormfrmSalaryHisText工资历史发放LableLableText职员编号LableLableText不计税工资LableLableText工资上限LableLableText工资下限LableLableText个人所得税率LableLableText扣除数TextBoxTextBoxTexttoolStripButtonText保存、删除DataGirddgdSalalryInfoAnchor全选3.9 职员奖励窗体的绘制职员奖励管理实现主要通过连接数据库中的“职员奖励表”,通过职员编号来实现奖惩信息编写和删除。

在窗体中我们会显示出所有的奖励信息,也可以通过支援的编号对其的奖励信息进行删除,同样可以对其增加相应的奖励信息的保存职员惩罚窗体的绘制与职员奖励窗体的绘制相差无几,所不同的信息可以对应职员奖励窗体进行修改图3-10 职员奖励窗体绘制第四章 数据库的分析与设计通过上一章的分析,一个基本的人力资源管理系统的数据库包括近60张表,这样一个庞大的系统开发通过一章来介绍显然是不够的,那么就只对其中主要的、基本的功能进行介绍4.1 数据库模块结构图图5-1 数据库结构图4.2 数据库逻辑结构的创建根据以上的内容我们可以分析出我们需要的数据库一共需要8张表,分别是“用户清单”用于保存系统使用者信息,“组织机构编码表”用于保存企业组织机构的详细信息,包括机构间的层级编码等,“职员基本信息表”用于保存企业员工的基本信息,“月工资统计表”用于保存、计算当月的员工工资,“个人所得税表”用于保存个人所得税的税率数据,“工资发放历史表”用于保存所有月份工资发放的历史,“职员奖励表”用于保存员工的奖励情况,“职员惩罚表”用于保存员工的惩罚情况以下就是我们创建的各表用户清单表主要是列出我们登录窗体需要的数据,登录名以及密码等,在此表中设定窗体的登录名和密码。

图4-1 用户清单表组织机构编码表主要是在数据库中创建内部编号、类别、类别号、单位编号、单位名称、拼音编码、单位地址、单位号码、开户银行、账号、开户全程图4-2 组织机构编码表职员基本信息表主要是在数据库中编写职员编号、姓名、性别、出生日期、年龄、籍贯、民族、文化程度、毕业学校、健康状况、婚姻状况、身份证号码、、电子邮件、职工账号、单位编号、备注等信息图4-3 职员们基本信息月工资统计表在数据库中需要编写日期、职员编号、职员姓名、浮动工资、合同补、粮副补、房补、临时补贴、职务工资、工龄工资、考核工资、奖金、应发金额合计、房租、水电费、请假扣除、考勤扣除、罚款、住房公积金、医疗保险、养老保险、失业保险、生育保险、工伤保险、工资合计,工资历史发放表的内容一样图4-4 工资统计表个人所得税表在数据库中编写的内容分别为职员编号、不计税工资、工资下限、工资上限、个人所得税率、速算扣除数而职员奖励表和职员惩罚表相差无几,主要内容是职员编号、奖励类型、奖励金额、奖励原因、部门意见、奖励日期图4-5 个人所得税表图4-6 职员奖励表第五章 系统调试5.1 软件简介微软在Visual Studio 2010中简化了产品阵容,预期将有3个基本版本:VS2010简化版Ultimate、VS2010简化版 Premium and VS2010简化版。

微软希望VS2010简化版将是历史上经典的一个版本,相当于当年的6.0版在介绍资料上,我们可以看到新功能主要包括:应用程序生命周期(ALM)、C# 4.0动态类型和动态编程、多显示器支持、支持TDD、支持Office开发、Quick Search特性、C++ 0x新特性、新增基于.NET平台的语言 F#等SQL 面向数据库执行查询;SQL 可从数据库取回数据;SQL 可在数据库中插入新的记录;SQL 可更新数据库中的数据;SQL 可从数据库删除记录;SQL 可创建新数据库;SQL 可在数据库中创建新表;SQL 可在数据库中创建存储过程;SQL 可在数据库中创建视图;SQL 可以设置表、存储过程和视图的权限SQL 是一种标准 – 但是SQL 是一门 ANSI 的标准计算机语言,用来访问和操作数据库系统SQL 语句用于取回和更新数据库中的数据SQL 可与数据库程序协同工作,比如 MS Access、DB2、Informix、MS SQL Server、Oracle、Sybase 以及其他数据库系统5.2 系统调试在本项目中我们在调试的过程中在登录时,若不是按照数据库的编写内容的登录名和密码则不能进入主窗体中,在本项目中预设的管理者为“111”,密码为“123”。

若是以其他的用户名以及密码都不能进入主窗体,并会提示该如何输入正确的信息图5-1为示例图5-1 错误信息登录示例图进入主窗体必须用正确的登录名及密码才能进入主窗体并且从主窗体进入其他子窗体时同样我们会遇到相对的问题在某些窗体中我们不能进行下一步的操作,在进行保存、修改、删除、查询时不能使保存、修改、删除、查询的数据显示在我们需要显示的窗体表示界面中如图5-2所示图5-2 信息显示错误图如上图所示,当我们输入内部编号去我们需要查询的信息时,窗体调试时会弹出“无此人信息,请重新输入”的信息造成此错误的因素有几点,一、我们输入的内部编号的信息的确有误,我们可以查询数据库找出正确的人员的内部编号,再次输入则可以显示出我们所查询的信息二、若第一点方法试过无效,仍然出现以上窗体的信息,此时我们就要进入数据库查询我们所需要的表名是否正确,再进入我们编写的业务逻辑层中对应的类,在类中检查我们输入的表名是否与数据库的表名相对应,若不对应修改类中或者数据库中任一表名即可三、若上述均不能我们则要进入数据访问层研究编写的保存、修改、删除、查询的代码是否有问题,再对应相应的方法在业务逻辑层进行调用时是否使用的是其相对应的编写的方法。

在调试过程中我们可能遇到下面这个问题,在“保存”惩罚的内容时我们的提示是“保存成功”的但是在我们的显示窗体中的显示部门并没有将我们保存的信息显示出来,但是它又是提示“保存成功”的,此时当我们再次调试进入此页面时我们又可以看到刚才我们所保存的信息,当我们再次运行“删除”的功能时我们同样出现了此问题,我们能删除成功,但是还是不能显示在窗体中表示出来如图5-3所示图5-3 信息未更新图由上图我们可看出我们输入的信息为被实时的更新在现实的窗体中,此时我们可以使用一种更新的方式来实现,首先我们实现当进行调试时进入此窗体时我们可以在显示窗体的部分看到所有的惩罚信息直观的显示在窗体中,要想把所有的信息显示在窗体中,我们就要在业务逻辑层中的相对应的类中进行“显示所有数据的编写”再在窗体表示层双击主窗体进入窗体编写代码,并在此事件中调用此方法,并将每一行的数据从数据库中提取出来并显示而要实现实时数据则只需要实时的更新即可,在“保存成功”的前面我们只需要添加一句代码FormPunish_Load_1(sender, e)就可以实现实时更新的功能总 结经过本次项目的设计让我对数据库有了进一步的认识,在项目中认识到一个完整的人力资源管理系统需要很庞大的资源,而在本次项目中只是体现了其中的一个方面,并未完全的体现出整个人力资源管理系统的完整性。

在整个项目中做了机构设置及编码功能、机构详细信息功能、职员信息维护功能、职员信息查询功能、当月工资功能管理、个人所得税设置管理、工资发放历史查询、职员奖励管理、职员惩罚管理、登录窗体功能等10个窗体;当在工具箱中调用控件时会发现很多以前不曾接触过的知识,根据窗体的架构把相应的控件放入窗体中在这些窗体的创建中首先是设置窗体和控件的属性,接下来是便是编写业务逻辑层的代码和数据访问层的代码在业务逻辑层编写CommonDB.cs类库文件的获取连接对象、获取Reader对象、获取数据集以及增删查改等操作在数据访问层中编写相应的几个类库文件,LoginHelper.cs;DataBase.cs;TreeNodeData.cs在这几个类库文件在分别编写了窗体表示层的的相应内容,并通过调用数据访问层的命名空间以实现窗体表示层的功能本次项目的设计让我更加的了解了人力资源管理系统的复杂性、多样性、可变性以及各种系统之间相互的微妙的联系,相信通过本次的项目设计会更加的让我的内涵有了进一步的提升;在综合素质上也有了相应的提升致 谢在项目的设计过程我学到了很多,也让我明白了很多在此次项目中我首先要感谢的是曾妍老师,在做本项目的过程中要多谢曾老师的细心指导,老师认真负责的工作态度,严谨的治学精神和深厚的理论水平都使我收益匪浅。

她无论在理论上还是在实践中,都给与我很大的帮助,使我得到不少的提高这对于我以后的工作和学习都有一种巨大的帮助,感谢她耐心的其次就是我要感谢的是我周围的同学们对我的帮助,在项目设计中,当遇到问题愁眉不展时,感谢你们伸出援助之手,当遇到挫折时,谢谢你们帮助、鼓励我继续前进当我一蹶不振时,谢谢你们给我自信和信心让我继续奋斗都是因为有大家才能让我的项目设计顺利的完成,让我的人生更加的完整 最后我要感谢的是我们的学院—四川信息职业技术学院,因为有你,我认识那么多好朋友因为有你,让我的生活有了不一样的乐趣因为有你,我的青春多了一抹绚丽的色彩因为有你,我的人生开始发生了不一样的改变因为有你,我才能来到这个美丽的地方因为有大家,所以我的生命中又多了一笔完美的色彩,感谢大家在我的青春中出,感谢大家影响我对生命的轨迹的改,还要感谢大家不论是在生活中还是在工作上对我无言的帮助参考文献[1] 郭睿智,张学志主编.C#+SQL Server 项目开发实践.中国铁道出版社,2007[2] 刘甫迎,刘光会等主编.C#程序设计教程.电子工业出版社,2008[3] 美国微软公司.Visual C# 2008 帮助信息,2007[4] 邵鹏鸣主编.C#面向对象程序设计.清华大学出版社,2008[5] 特罗尔森著.C#与.NET 3.5高级程序设计.朱晖等译.人民邮电出版社,2009[6] 沉舟等著.Microsoft.Net编程语言 C#教程.北京希望电子出版社,2001[7] 袁开鸿主编.C#程序易懂易会教程.清华大学出版社,2009[8] 曾文权编著.Visual C#.NET程序设计基础.西安电子科技大学出版社,2008[9] 明日科技主编.C#范例宝典.人民邮电出版社,2009附 录主窗体代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace Human.FormApp{ public partial class FormMain : Form { public FormMain() { InitializeComponent(); } private void 退出系统SToolStripMenuItem_Click(object sender, EventArgs e) { DialogResult result; result = MessageBox.Show("你是否要退出?", "输入提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Information); if (result == DialogResult.OK) { Application.Exit(); } } private void 管理设置及编码ToolStripMenuItem_Click(object sender, EventArgs e) { FormInfo formInSet = new FormInfo(); formInSet.Show(); } private void 职员信息维护ToolStripMenuItem_Click(object sender, EventArgs e) { PeopleInfo form职员基本信息表 = new PeopleInfo(); form职员基本信息表.Show(); } private void 职员信息查询ToolStripMenuItem_Click(object sender, EventArgs e) { SelectInfo formInforServices = new SelectInfo(); formInforServices.Show(); } private void 当月工资计算ToolStripMenuItem_Click(object sender, EventArgs e) { SalaryManage form工资统计表 = new SalaryManage(); form工资统计表.Show(); } private void 工资发放历史ToolStripMenuItem_Click(object sender, EventArgs e) { SalaryHis formPayInqu = new SalaryHis(); formPayInqu.Show(); } private void 个人所得税率ToolStripMenuItem_Click(object sender, EventArgs e) { FormTaxInfo FormTaxInfo = new FormTaxInfo(); FormTaxInfo.Show(); } private void 职员奖励管理ToolStripMenuItem_Click(object sender, EventArgs e) { FormPrize FormPrize = new FormPrize(); FormPrize.Show(); } private void 职员惩罚管理ToolStripMenuItem_Click(object sender, EventArgs e) { FormPunish FormPunish = new FormPunish(); FormPunish.Show(); } }}机构详细信息窗体代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Human.SevicesLogic;using Human.DataAccess;namespace Human.FormApp{ public partial class FormInfo : Form { public FormInfo() { InitializeComponent(); } DepInfo depInfo = new DepInfo(); private void check_Click(object sender, EventArgs e) { if (this.textBox1.Text != "") { string number = this.textBox1.Text.Trim(); if (depInfo.GetRecord4(number)) { DataSet ds = depInfo.GetData(number); if (ds != null) { if (ds.Tables["组织机构编码表"].Rows.Count > 0) { for (int i = 0; i < ds.Tables["组织机构编码表"].Rows.Count; i++) { this.textBox1.Text = ds.Tables["组织机构编码表"].Rows[i]["内部编号"].ToString(); this.textBox2.Text = ds.Tables["组织机构编码表"].Rows[i]["类别"].ToString(); this.textBox3.Text = ds.Tables["组织机构编码表"].Rows[i]["类别号"].ToString(); this.textBox4.Text = ds.Tables["组织机构编码表"].Rows[i]["单位编号"].ToString(); this.textBox5.Text = ds.Tables["组织机构编码表"].Rows[i]["单位名称"].ToString(); this.textBox6.Text = ds.Tables["组织机构编码表"].Rows[i]["单位地址"].ToString(); this.textBox7.Text = ds.Tables["组织机构编码表"].Rows[i]["单位号码"].ToString(); this.textBox8.Text = ds.Tables["组织机构编码表"].Rows[i]["开户银行"].ToString(); this.textBox9.Text = ds.Tables["组织机构编码表"].Rows[i]["账号"].ToString(); } } } } else { MessageBox.Show("无此人信息,请重新输入", "查询提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("请输入要查询者姓名", "查询提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } private void btnModify_Click(object sender, EventArgs e) { if (this.textBox1.Text != "") { string number1 = this.textBox1.Text.Trim(); depInfo.Delete1(number1); string number= this.textBox1.Text.Trim(); string type = this.textBox2.Text.Trim(); string typenumber = this.textBox3.Text.Trim(); string danweibianhao = this.textBox4.Text.Trim(); string mingcheng = this.textBox5.Text.Trim(); string adress = this.textBox6.Text.Trim(); string tel = this.textBox7.Text.Trim()。

下载提示
相关文档
正为您匹配相似的精品文档