基于C#的企业人事管理系统的设计与实现毕业设计论文_第1页
基于C#的企业人事管理系统的设计与实现毕业设计论文_第2页
基于C#的企业人事管理系统的设计与实现毕业设计论文_第3页
基于C#的企业人事管理系统的设计与实现毕业设计论文_第4页
基于C#的企业人事管理系统的设计与实现毕业设计论文_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西南科技大学毕业设计毕业设计( (论文论文) )设计题目:设计题目:基于 C#的企业人事管理系统的设计与实现 系系 别:别: 班班 级:级: 姓姓 名:名: 指指 导导 教教 师:师: 2 0 X X 年X 月X 日摘摘 要要在当今社会,互联网空前的发展,给人们的工作和生活带来了极大的便利和高效,信息化,电子化已经成为节约运营成本,提高工作效率的首选。考虑到当前大量企业的人事管理尚处于手工作业阶段,不但效率低下,还常常因为管理的不慎而出现纰漏。因此根据部分企业提供的需求,设计此企业人事管理系统,以帮助企业达到人事管理办公自动化、节约管理成本、提高企业工作效率的目的。本企业人事管理系统采用 C/

2、S 结构,主要对企业员工的信息以及跟人事相关的工作流程进行集中的管理,方便企业建立一个完善的、强大的员工信息数据库。它是以VS2008 (Microsoft Visual Studio 2008).和 SQL 2008 Express 数据库作为开发平台。使用 C# 设计操作控件和编写操作程序,完成数据输入、修改、存储、调用查询等功能;并使用 SQL 2008 数据库形成数据表,进行数据存储。本文详细介绍了企业人事管理系统的功能需求,系统设计和具体实现。并简要介绍了系统开发采用的过程方法。 关键词关键词 企业人事管理系统;C/S;员工信息;数据库The Design and Implement

3、ation ofEnterprise Personnel Management System Based on C/SAbstractIn our society, the unprecedented development of Internet has brought us great convenience and efficiency. Informatization and electronization have become the first choice of saving operation cost and improving work efficiency. Many

4、enterprises personnel administration systems lie in the phase of manual management which inefficient and easy to go wrong by carelessness. Therefore, this MIS(Management Information System)is designed to make the personnel administration more scientific, normative and efficient.The system adopts the

5、 structure mode of client/server(C/S), Windows XP as the operation system,SQL 2008 Express as the background database, and Microsoft Visual Studio8 2008 as the developing tool. It can help enterprises to establish a perfect, strong staff information database, which facilitates the centralized manage

6、ment of staff information and workflow.The paper explains the course design, system design and implementation of MIS, also briefly introduces the process of the system development.Key words: Personnel Management System; C/S; Employee Information;Database第第 1 章章 绪绪论论 .11.1 应用的目的与意义.11.2 人事管理系统发展趋势 .1

7、1.2.2 世界趋势.11.2.3 技术革新.21.2.4 工作目标和价值观的改变.2第第 2 章章 系统相关技术介绍系统相关技术介绍.32.1 C#技术简介.32.2 SQL 技术 .32.2.1 数据库的基本概念.32.2.2 本系统中数据库的访问.3第第 3 章章 系统分析系统分析.53.1 需求分析 .53.2 系统概述 .53.3 系统目标 .53.4 可行性分析 .63.4.1经济可行性分析.63.4.2技术可行性分析.63.4.3管理可行性分析.63.5 系统逻辑结构图及业务流程图设计.63.5.1系统逻辑结构.63.5.2数据字典.7第第 4 章章 系统数据库设计系统数据库设计

8、.124.1 数据库概念结构设计.124.2 数据库逻辑结构设计.16第第 5 章章 系统各模块的实现系统各模块的实现.175.1 系统架构设计 .175.2 系统登陆实现 .185.2.1系统登陆窗体的功能.195.3 系统主界面设计 .215.4 数据导入于备份的实现.215.5 公司部门管理的实现.225.6 员工信息管理的设计.235.6.1员工信息管理的功能.235.7 员工其它信息实现.255.7.1一对多类设计图.255.7.2一对多类设计图.255.8 薪金发放功能的实现.26第第 6 章章 系统测试系统测试.286.1 软件测试的目标 .286.2 测试举例 .286.3 测

9、试结论 .29结结 论论.30致致 谢谢.31参考文献参考文献.32第第 1章 绪论论1.1 应用的目的与意义人的管理是一切管理工作的核心。员工代表一个企业的形象,因而人事管理机制设计的好坏,直接影响一个企业的成败。 员工的档案管理是企业人事管理的基础,在企业员工普遍流失的今天,一个准确而及时的人事管理系统,有利于人事部门对员工流动进行分析、编制,为企业所需人员提供了保障。人力资源部那些重复的,事务性的工作交给 HRP(Human Resource Planning,人力资源管理系统)来解决,可以省去用户以往人力资源管理工作的繁琐、枯燥;用领先的人力资源管理理念,把人力资源管理的作业流程控制和

10、战略规划设计巧妙地集合于一体;系统重点涉及到人力资源管理工作中的薪资、培训、奖惩、调动、基本信息、用户管理以及用户切换等方面,并有综合的系统安全设置、报表综合管理模块。可以很好地为用户的人力资源管理部门在对员工的成本管理、知识管理、绩效管理等综合管理给予帮助。以每个月中所发工资为例,其中包括人事信息变动、奖惩对本月的薪资计算都有影响,为了及时的计算发放工资往往要提前一个星期花费大量时间,加班加点才能及时完成,而这样做无论从工作效率还是准确度方面,都不允许,而且还浪费大量的人力财力。如果改用 HRP 管理做到高效、高精度,还可以减少管理时带来的一些繁琐的工作,节约管理带来的开支。1.2 人事管理

11、系统发展趋势1.2.2 世界趋势人力资源管理系统主导 21 世纪,无论是发达国家还是发展中国家,对人力资源的战略性意义都有了深刻的认识,并开始付诸行动。世界公认,21 世纪将是人力资源的世纪;人力资源问题将主导整个 21 世纪甚至更为遥远,这种状况的变化起因于竞争压力。目前,世界经济趋向全球化。世界经济的全球化过程和国家的开放过程,要求组织的管理部门降低管理成本以减少竞争压力和增强竞争能力。对于不同的组织,人力资源成本在总成本中的比例是不一样的。1.2.3 技术革新无论是现在还是将来,工业的发展越来越多地取决于科学和技术、知识与技能。高新科技产业更是如此。这不仅要求员工尤其是技术人员掌握新的科

12、学知识和技术能力,而且更重要的在于要求员工深入而快捷地掌握和应用这些知识和技能。这就导致了两个问题。第一,随着这种技术革新的发展和知识更新速度的加快,人们有更多的职业选择机会。第二,伴随着这种发展以及职业选择机会的增多,人力资源管理活动和频繁程度加剧;而且这种活动对科学技术的要求与它的反应程度也更高了,进而提高了人力资源成本。1.2.4 工作目标和价值观的改变随着社会政治和经济的发展,人们的工作目标和价值观也都发生了重要的变化。这就对人事管理部门和管理人员提出了新的要求和新的问题,不得不考虑诸如工作类型设计、岗位分析、充分尊重员工以及为他们提供良好的个人发展和自我价值实现的环境与条件等问题。这

13、样,人力资源管理就派上了用场。第 2 章 系统相关技术介绍2.1 C#技术简介要了解 C#,首先要了解 Microsoft.NET FrmeWork。Microsoft.NET FrameWork是微软公司提出的新一代软件开发模型,C#语言是.NET FrameWork 中新一代的开发工具。C#语言是一种现代的,面向对象的语言,它简化了 C+语言在类、命名控件、方法重载和异常处理等方面的操作,摒弃了 C+的复杂性,更易使用。它使用组件编程,在这方面和 VB 类似。在动态查阅、中间代码技术、参数传递、交叉语言处理、面向对象方面有自己的特点。另外,由于 C#中取消了指针的功能,这样可以有效防止病毒

14、程序利用非法指针访问私有成员,也能避免指针的误操作产生的错误。因此,其在安全性方面也有了很大的提高。2.2 SQL 技术2.2.1 数据库的基本概念SQL(Structured Query Languge)结构化查询语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL 语言包括:数据定义语言、数据操作语言、数据查询语言、数据控制语言四部分。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所有具有完全不同底层结构的不同数据库系统,可以使用相同的 SQL 语言作为数据输入与管理的接口。它以记录集合作为操作对象,所有 SQL 语句接受集合

15、作为输入,返回集合作为输出,这种集合特性允许一条 SQL 语句的输出作为另一条SQL 语句的输入,所以 SQL 语句可以嵌套,这使它具有极大的灵活性和强大的功能。2.2.2 本系统中数据库的访问本系统的数据库访问过程实现主要通过六个步骤:(1)建立数据库表,表中存储相应数据。(2)使用 SqlConnection 或 OleDbConnection 类建立数据库应用程序和数据库连接对象。(3)从数据库指定表中取出感兴趣的记录。(4)从数据库指定表中取出的感兴趣记录组成一个新表,填充到 DataSet 类对象中,可填充多个表,并可在 DataSet 类对象中指定表和表的关系。取出所感兴趣的记录后

16、,断开数据库连接。(5)用支持数据库绑定控件(例如 DataGrid 控件)显示 DataSet 类对象中的数据,供用户浏览、查询和修改。(6)及时更新 DataSet 中内容,并把修改的数据存回源数据库。本系统中数据库连接部分的具体实现代码如下:String MySQLConnectionString = globl:MyPersonnel.Properties.Settings.Defult.MyPersonnelConnectionString;String s=”DTBSE=Northwind;SERVER=loclhost;UID=s;PWD=;”SqlConnection MyCo

17、nnection = new SqlConnection(MySQLConnectionString);MyConnection.Open();第 3 章 系统分析3.1 需求分析本系统主要是针对一般企事业单位设计,基于其他企业人工人事管理的不足,本系统完全可以取代人力更好地完成了数据的添加、修改、删除操作。3.2 系统概述本系统主要针对中小企业的人事管理人员和企业管理人员设计,以帮助其实现企业人事管理的信息化和自动化。通过本系统,人事管理人员可以实现员工档案管理,员工离职管理,员工薪资的录入、发放和查询管理,员工考勤信息的添加、查询等操作。由于公司管理人员需要对企业人事信息进行系统的了解,本

18、系统采用了模糊查询的功能,企业管理人员可以清晰地了解部门人员分配、员工年龄、文化程度、婚姻状况等信息。通过对员工薪金信息的修改,实现工资的发放。最终实现办公流程的系统化。在统计方面使用了数据库这样增强了员工信息的安全性,可以实现备份还原功能。3.3 系统目标根据企业对人事管理的要求,制定企业人事管理系统具体目标如下:(1)员工基本档案、员工简历、员工家庭成员信息等相关界面的添加、修改、删除操作。(2)全方位的模糊查询功能的实现。(3)按相应条件对员工的考勤、工资等进行统计。(4)员工考勤信息的数字化显示,以方便企业对员工进行年终考核。(4)界面清晰美观,逻辑性强,操作简单易懂。(5)系统运行良

19、好,兼容性强。(6)拥有数据备份还原功能,增强了数据的安全性。3.4 可行性分析3.4.1 经济可行性分析完成本系统需要硬件和软件两方面的支持。硬件方面需要开发服务器一台,个人电脑在此可作为服务器使用;软件方面,由于本系统属于小型管理系统,利用Visual Studio 2008 和 SQL Server 2008 数据库开发工具即可实现,经济成本低,因此在经济上是可行的。3.4.2 技术可行性分析本系统采用目前被广泛使用的 C#开发技术、SQL Server 2008 数据库技术和Windows Server 2003 操作系统进行开发设计。首先,c#是微软为.NET 量身定做的开发语言集合

20、了 C/C+和 VB 的双重优点,具有简易型、灵活性、移植性强等特点,同时使用 Visual Studio 2008 作为开发平台,对于开发中小系统来说,这种开发环境是完全没有问题的。其次,本系统采用 SQL Server 2008 数据库。到目前为止,SQL数据库仍然是使用最广泛的一种数据库语言,因此本系统采用 SQL Server 2008,在系统安全性、可用性和高稳定性上又有了很大的提升。再次,本系统的操作环境采用 Windows 下的 Server 2003 操作系统,Windows Server 2003 是由微软公司推出的服务器操作系统,可以为本系统的开发提供良好的稳定性。最后,考

21、虑到三者兼容的问题,由于三者都属于微软公司的产品,所以兼容性上不存在问题。硬件方面,采用标准的服务器硬件配置,能满足本系统的要求。综上所述,本系统的技术可行性不存在问题。3.4.3 管理可行性分析本系统的主要应用对象为企业的人事管理人员和企业的高层管理者,由于本系统界面简洁、结构清晰、操作简单,所以在对相应使用人员进行培训的情况下是可以顺利使用本系统的。3.5 系统逻辑结构图及业务流程图设计3.5.1 系统逻辑结构系统逻辑结构图能够清晰地反映出本系统的结构功能和模块分布,是系统对外介绍的良好窗口。用户也可以一目了然地了解系统的整体逻辑结构,加深对系统功能的理解。本系统的逻辑结构图如图 3-1

22、所示:系统主界面调岗记录工资管理基本档案培训记录离职管理工资核算工资录入系统管理退出管理员管理部门管理系统退出人事管理奖惩记录工作经历系统帮助信息培训信息工资发放切换用户数据备份与恢复图 3-1 企业人事管理系统逻辑结构图3.5.2 数据字典数据字典是关于数据的信息的集合,也就是对数据流图中包含的所有元素的定义的集合。数据字典的作用也正是在软件分析和设计的过程中给人提供了数据的描述信息。本系统的数据字典如下表所示。1部门信息序号序号数据项数据项数据类型数据类型数据长度数据长度备注备注1部门编号字符型2主键2部门名称字符型202员工基本信息序号序号数据项数据项数据类型数据类型数据长度数据长度备注

23、备注1员工号字符型5主键2姓名字符型83性别字符型2男/女4出生日期日期型85联系 字符型206文化程度字符型207毕业院校字符型308专业字符型209政治面貌字符型2010民族字符型2011爱好特长字符型10012所在部门字符型2外键13职位字符型2014职称字符型2015状态字符型8在职/离职16照片图像型1617备注字符型2003.员工奖惩信息序号序号数据项数据项数据类型数据类型数据长度数据长度备注备注1奖惩流水号数字型8主键2员工号字符型5外键3奖惩类型字符型8奖励/惩罚4奖惩事项字符型2005奖惩情况字符型1006奖惩时间日期型84. 员工工作经历信息序号序号数据项数据项数据类型数据

24、类型数据长度数据长度备注备注1流水号数字型8主键2员工号字符型5外键3起始时间日期型84终止时间日期型85工作单位字符型506任何职位字符型207职称字符型208工作内容字符型1009证明人字符型85. 员工培训进修信息序号序号数据项数据项数据类型数据类型数据长度数据长度备注备注1流水号数字型8主键2员工号字符型5外键3起始时间日期型84终止时间日期型85培训单位字符型506培训内容字符型207获得证书字符型1008备 注字符型2006. 员工调岗信息序号序号数据项数据项数据类型数据类型数据长度数据长度备注备注1流水号数字型8主键2员工号字符型5外键3原部门字符型24原职位字符型205现部门字

25、符型26现职位字符型207调岗时间日期型88调岗原因字符型2007. 员工离退职信息序号序号数据项数据项数据类型数据类型数据长度数据长度备注备注1流水号数字型8主键2员工号字符型5外键3原部门字符型24原职位字符型205离职类型字符型8退休/休假/辞职6离职原因字符型2007离职时间日期型88. 员工薪资信息序号序号数据项数据项数据类型数据类型数据长度数据长度备注备注1员工号字符型5主键/外键2基本工资货币型83社保基金货币型84奖金福利货币型85罚款金额货币型86其它薪金货币型89. 薪资发放信息序号序号数据项数据项数据类型数据类型数据长度数据长度备注备注1发放年月字符型6主键2员工号字符型

26、5主键,外键3基本薪资货币型84本月奖金货币型85加班补助货币型86本月扣款货币型87个人所得税货币型88备注文本型20010. 系统管理员信息序号序号数据项数据项数据类型数据类型数据长度数据长度备注备注1帐号字符型16主键2密码字符型163姓名字符型84性别字符型2第 4 章 系统数据库设计4.1 数据库概念结构设计企业人事管理系统的数据库主要用来记录一个企业所有员工的基本信息及考勤、薪资等信息等数据,数据量由企业的员工数量多少决定。本系统的数据库命名为PersonnelManagement,共用 10 张数据表来存储相应信息。数据库概念结构设计作为系统开发的重要组成部分,是根据管理系统的相

27、应需求制定的,数据库的优劣直接影响到系统的后期开发。本系统中,为了保证系统的安全性,在登录系统的时候用户需要输入正确的用户名和密码,并且为了安全考虑用户的登陆会记录在数据库。因此,需要一个数据库表用来记录用户的用户名和密码。登录表的实体 E-R 图如图 4-1 所示:图 4-1 登录表的实体 E-R 图在企业人事管理系统中,员工信息表属于其中最重要的一个表,在这个表中记录了员工的基本信息,因此表中涉及的员工信息字段太多,本实体 E-R 图只给出了部分字段。本系统的员工基本信息表 E-R 图如图 4-2 所示:用户姓名操作用户登陆时间用户性别登陆次数用户名用户密码图 4-2 员工基本信息实体 E

28、-R 图在企业中,员工受到奖惩是必不可少的。在数据库设计中,加入了一个员工奖惩表,以便对员工的奖惩信息进行记录。奖惩表的实体 E-R 图如图 4-4 所示:图 4-3 奖惩表实体 E-R 图员工基本信息表用户照片部门员工地址自编号奖惩日期奖惩主体部门员工姓名.十多项员工年龄政治面貌员工奖惩表说明奖惩原因员工编号自编号在本系统中,涉及到了员工的培训信息,员工的考培训息是通过数据库进行显示的。其实体 E-R 图如图 4-4 所示: 图 4-4 员工培训信息表在本系统中,涉及到了员工的调岗信息,员工的调岗信息是通过数据库进行显示的。其实体 E-R 图如图 4-5 所示: 图 4-5 员工考勤信息表备

29、注终止时间员工培训信息表培训单位起始时间培训内容员工编号自编号现职位原职位员工培训信息表调岗时间原部门现部门员工编号自编号人事管理系统离不开对员工的薪资管理,将员工的工资信息动态地录入数据库并且能够随时清晰地查看,是设计此薪资信息表的基本目的。其 E-R 图设计如图 4-6 所示:图 4-6 薪资管理表此外,现金发放表、部门信息、员工离职管理表,实体 E-R 图设计与其它员工基本信息类似,本论文中不再显示其 E-R 图设计。罚款金额其它薪金奖金福利薪资管理信息表社保基金基本工资员工编号自编号4.2 数据库逻辑结构设计根据上面设计的 E-R 图,便可以在数据库中创建相应的数据库表,本系统的各数据

30、表的结构如下:图 4-2:系统架构图第 5 章 系统各模块的实现5.1 系统架构设计人事管理系统的架构分为窗体和模块两个部分。在窗体的部分有以下几个窗体,他们的作用分别是:“Frm_Login”是登录窗口,是验证系统用户的登陆权限和数据配置; “Frm_Main”是主窗口,是系统进入的第一个窗口,可以查看登录信息,以及显示功能菜单;“Frm_Department”是部门管理窗体,对公司部门进行管理;“Frm_DB”是数据恢复与还原窗口,可以对数据库进行备份与还原; “Frm_UserInfo”是员工信息主界面,用户可以选择要执行的任务及对员工信息更改;“Frm_OSInfo” 是密码修改,用户

31、可以在此修改自己的密码;“Frm_Reward” 是奖惩信息窗口,用户可以对员工奖惩信息进行操作;“Frm_Worked” 是工作经历窗口,用户可以对员工工作经历进行操作;“Frm_Study” 是培训信息窗口,用户可以对员工培训信息进行操作;“Frm_Leave” 是离退信息窗口,用户可以对员工离退信息进行操作;“Frm_WageInfo” 是薪金信息窗口,用户可以对员工薪金信息进行操作;“Frm_IO” 是调岗信息窗口,用户可以对员工的岗位进行变更操作;“Frm_UserWage” 是薪金发放窗口,用户可以对员工薪金发放进行操作;系统架构说明如图 5-1 所示:图 5-1:系统架构图5.2

32、 系统登陆实现系统用户登录模块主要用于完成对登录系统的用户的验证,只有合法的用户和正确的数据库配置才可以进入系统,否则给与相应的错误提示。其中采用了windows 和 MSSQL 两种身份验证的方式,可以使不同工作环境的用户登录系统使用。以及设计了记住用户名和密码的功能,在安全上使用了 MD5 加密验证。其设计样式如图 5-2 所示:图 5-2:用户登录配置模块图5.2.1 系统登陆窗体的功能系统用户登录模块中进行了非常人性化的设计,窗体加载时会自动检查是否曾经对系统配置了数据库,如果没有登陆按钮将变为不可以点击状态并给出相应的提示。在一切配置完成以后,点击登陆时会对配置错误和非法登陆进行不同

33、的错误提示。如果都正确将成功进入主界面。在登录远程数据库时需要一定的时间,此时不要着急请喝杯咖啡等待。 (注:登录默认用户名 admin 密码 123 本地数据库服务器名称 . 默认数据库 PersonnelManagement)其主要代码为: OSInfo user1 = new OSInfo(); user1.OSId = name; user1.OSPsd = password; OSInfoDAL userDAL = new OSInfoDAL(); DataSet ds = userDAL.FindByNameAndPassword(user1); DataSet da = user

34、DAL.FindAll(); try if (da = null) MessageBox.Show(数据库连接失败,请检查重试!); return; if (ds = null) MessageBox.Show(密码或用户名错误,请检查重试!); return; else if (ds.Tables0.Rows.Count 0) SQLHelp.userInfo0 = ds.Tables0.Rows0.ItemArray0.ToString(); SQLHelp.userInfo1 = ds.Tables0.Rows0.ItemArray1.ToString(); SQLHelp.userIn

35、fo2 = ds.Tables0.Rows0.ItemArray2.ToString(); SQLHelp.userInfo3 = ds.Tables0.Rows0.ItemArray3.ToString(); SQLHelp.userInfo4 = ds.Tables0.Rows0.ItemArray4.ToString(); SQLHelp.userInfo5 = ds.Tables0.Rows0.ItemArray5.ToString(); Frm_Main frm = new Frm_Main(); this.Hide(); frm.Show(); SQLHelp.CloseDB();

36、 catch (Exception ex) MessageBox.Show(数据库连接失败 + ex.Message, 错误); 5.3 系统主界面设计在系统主界面中采用了下拉菜单,这样解决了系统按钮菜单的单调性,从而让系统整体看起来美观大方简洁。在主界面中实现了切换用户、弹出子菜单、用户帮助和当前用户登录信息显示(用户名 登录次数 上次使用时间)等等。其设计样式如图 5-3 所示:图 5-3:系统主界面设计图5.4 数据导入于备份的实现在一个系统的使用过程中难免遇到一些突发事件,而导致系统数据的丢失。所以在设计系统时,必须有对系统数据备份与还原的模块。在系统功能中我加入了数据备份还原。其操作

37、简单,在投入实际使用时只需要管理员操作鼠标即可。其设计样式如图 5-4 所示:图 5-4:数据导入于备份设计图5.5 公司部门管理的实现在一个公司中每个员工都有自己的一个归属,那就是部门。在系统设计中对部门信息的操作也是必要的。也由于部门涉及的信息不多,它的设计界面比较简单。在功能上实现了增、删、改、查的基本数据操作。在逻辑上进行完善,操作简单、逻辑清晰并且拥有较强抗击用户非法操作的功能。其设计样式如图 5-5 所示:图 5-5:公司部门管理设计图5.6 员工信息管理的设计在本系统中员工的信息的管理是所有子系统的基本,在功能上不仅实现员工信息的管理,更主要的是利用该模块作为接入员工子系统的跳转

38、。并集齐员工信息增、删、改、查为一体。为达到可操作性和便捷性,在设计时使用了多种 windows 控件,其中包括右键菜单、下拉菜单、打开图片、图片显示、数据表等等。设计样式如图5-6 所示:图 5-6:员工信息管理设计图5.6.1 员工信息管理的功能(1)模糊查询:在工号查询处的文本框中可以输入员工号进行模糊匹配查询。例如输入“1” 就可以查询出员工号中含有 1 的所有员工数据。主要实现代码如下: string sql = select userId,userName from userInfo where userId like % + txt_Select.Text + %; DataSe

39、t da = new DataSet(); da = SQLHelp.GetDataSet(sql); if (da != null) dgrdv_User.DataSource = da.Tables0; dgrdv_User.Columns0.HeaderText = 员 工 号; dgrdv_User.Columns0.Width = 85; dgrdv_User.Columns1.HeaderText = 员工姓名; dgrdv_User.Columns1.Width = 91; (2)数据库操作:可对员工进行增删改的基本操作。单击添加后在正确的录入员工信息后单击确定,就可以完成员工信

40、息的录入。在修改员工时首先需要单击员工的数据表,然后点击修改,修改之后单击确定即可完成修改。在删除员工时首先也需要单击员工的数据表,单击删除,确定操作以后即可删除员工数据。 (提示:“如员工有其它信息将不能进行删除!如需要删除必须删除员工的其它信息” 。 )如果单击了修改或者添加后又不想进行操作可以点击取消按钮,这样就恢复成初始界面。(3)刷新:右键菜单单击刷新按钮可以重新从数据库获取一次数据,用此可以防止数据库数据与客户数据不同步的现象(4)向数据库写入照片:你可以选择员工的相片并且录入用户信息以后,修改或添加都可以将用户图片插入到数据库中。这样我们的数据库就可以存放上用户的一切信息,这样就

41、可以仅通过该系统进行维护操作。图片插入代码如下所示: string P_str = openF.FileName;/得到图片的所在路径 FileStream fs = new FileStream(/创建文件流对象 P_str, FileMode.Open, FileAccess.Read); BinaryReader br = new BinaryReader(fs);/创建二进制读取器 byte imgBytesIn = br.ReadBytes(int)fs.Length); SQLHelp.OpenDB();/打开数据库连接 StringBuilder strSql = new Str

42、ingBuilder();/创建字符串构造器 strSql.Append(/附加字符串 update userInfo Set userPhoto=Photo where userId= + MID); SqlCommand cmd = new SqlCommand(strSql.ToString(), SQLHelp.conn); cmd.Parameters.Add(Photo, SqlDbType.Binary).Value = imgBytesIn; cmd.ExecuteNonQuery();/执行SQL命令 br.Close(); fs.Close();(5)进入下级菜单:如果需要

43、对员工其他数据进行操作,首先需要选择员工,然后单击右键或者单击下拉菜单进入相应的子菜单进行操作。5.7 员工其它信息实现员工其它信息包括两大类,其中员工奖惩信息、工作经历、培训信息、调岗信息为一对多类。因为每个员工可以拥有其中一类的多个信息。员工的离退信息和薪金信息为一对一类,每个员工只能拥有其一条信息。在设计时如果一对多就可以查看、增加多条数据,也拥有一个数据控件进行分条查看。在一对一类中只能增加一条数据,如果已有数据就只能进行修改、删除的操作。5.7.1 一对多类设计图一对多类设计相似,不一一列举其主要设计窗口以奖惩信息为例,如图 5-7 所示:图 5-7:员工奖惩管理设计图5.7.2 一

44、对多类设计图一对一类设计相似,不一一列举。其主要设计窗口以离退信息为例,如图 5-8 所示:图 5-8:员工离退管理设计图5.8 薪金发放功能的实现企业人事管理系统中的核心部分便是薪金发放功能。本系统的薪金发放与薪金信息将结合,如果员工已有薪金信息且该信息不用修改,就可以填写薪金类型进行薪金发放。发放的 总工资=(基本工资+奖金福利+社保基金+其它薪金-罚款金额)此过程由系统自动计算。设计样式如图 5-9 所示:图 5-9:薪金发放设计图第 6 章 系统测试为了确保本系统能够正常运行,需要在发布之后做一次较全面的测试。6.1 软件测试的目标(1)测试是为了发现程序中的错误而执行的过程;(2)好

45、的测试方案实际可能发现迄今为止尚为发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误测试。6.2 测试举例(1)测试用户登陆是否成功打开人事管理系统,在“用户名”里填入 admin, “密码”框里我们填入 123作为用户登录密码。填写完成点击“确定”按钮,将会出现操作程序页面,即该用户已经登陆成功了。(2)测试其他用户是否能够登录打开人事管理系统登录页面,输入任意密码,点击“登录”按钮。将出现密码出错提示页面。然后点“确定”返回人事管理系统登录页面。(3)测试编辑功能是否成功 编辑功能:在登录成功之后,即可进入相应的管理页面,点击“编辑” ,即出现编辑页面,即可以修改和删除员工的个

46、人信息资料。最后保存。 (4)测试查询功能是否成功查询功能:在登录成功之后,点击“查询” ,在弹出的文本框,在里面输入想要查找的资料,点击“查询”按钮,成功即可出现结果页面,页面内显示查询出来的员工资料内容,表示测试成功。(5)用户登出系统的测试在管理操作已全部完成,需要退出程序的时候,在系统页面“系统设置”下拉菜单的有一个“退出”的选项,点击之后便可退出。也可以点“关闭”退出。(6)测试密码更改在程序中用户管理,弹出文本框,输入正确的旧密码,新密码后提示修改成功。6.3 测试结论在通过一系列的功能测试之后,系统功能均能正常使用。结 论本次毕业设计,可以说是我多年来大学生活的一个知识总结。在本

47、次设计之初,我在 C#以及数据库方面的知识仍停留在理论知识的水平上,随着系统完成的深入,我在理论知识不断提高的基础上完善了我的实际软件开发经验。这不但是一次毕业设计,更是一个理论与实践良好结合的机会。至此,本次设计基本实现预期的相关要求,在添加、修改、删除、查询等基本功能实现了的情况之下,完善了数据统计,考勤管理等功能。在本次毕业设计过程中,每当遇到不能解决的知识性问题或设计思路不流畅的时候,通过学校的图书馆、网络以及指导教师的指导进行解决。当然由于时间、本人能力等原因,本系统仍有很多不完善的地方。 。致 谢首先,要感谢我的毕业设计指导教师 xxx 老师,在 xxx 的悉心指导使我顺利的完成了

48、本次毕业设计的题目。从设计选题到中期开发直到最后的设计成果展示,x老师始终本着严谨的治学态度、高度的探索精神来督促我完成本次题目。x 老师在学术方面的求真务实态度和严谨认真的治学风格是我以后学习、工作和生活中终生受益的资产。其次,要感谢其它各位老师、同学的热心帮助。学校提供了优秀的知识资料供我参考,同学提供了良好的交流机会和论文改进的优秀意见。在此,要感谢他们。最后,还要感谢多年来培养我的大学老师们,是你们扎实的知识储备和负责的教学风格使我养成了良好的学习习惯并且具备了程序开发的基础知识。通过本次的毕业设计。从我个人角度上来说,我学到了很多知识,无论是在理论上还是在实践上,我的程序开发综合能力

49、都有了一个提高。并且逐渐掌握了学习新鲜知识,掌握新鲜事物的能力。为我以后的学习和生活打下了一个更加坚实的基础。参考文献1 张立 等编著.程序天下-C#2.0 实例自学手册M.电子工业出版社.2008.1:70-722 王福明 主编.C#程序设计案例教材M.科学出版社.2009:33 黄兴荣 等编著.C#程序设计实用教材M.电子工业大学出版社.2009:189-1914 韩晓祥、刘志军 主编.C#程序设计M.中国人民大学出版社.2009:205 姚普选.数据库原理及应用M.清华大学出版社.2002:7-96 陈宗斌等. 精通 SQL Server 2005M.电子工业出版社.2008:407 唐

50、政、房大伟 等编著.C#项目开发实录M.清华大学出版社.2009:45-48 8 纪红.人事管理信息系统的设计与实施J.计算机与现代化.2010 年第 3 期,总第6 期:89附录/登录模块代码using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 人事管理系统

51、public partial class LoginForm : Form /SqlCommand cmd; public LoginForm() InitializeComponent(); #region 登录 private void btnLogin_Click(object sender, EventArgs e) string sql = ; if (txtUser.Text.Trim() != & txtPwd.Text.Trim() != ) sql = select count(*) from Admin_UserBBs where uuser=uuser and u

52、pwd=upwd; SqlParameter sqlparame = new SqlParameter2; sqlparame0 = new SqlParameter(uuser, SqlDbType.Char, 20); sqlparame0.Value = this.txtUser.Text.Trim().ToString(); sqlparame1 = new SqlParameter(upwd, SqlDbType.Char, 6); sqlparame1.Value = this.txtPwd.Text.Trim().ToString(); SqlCommand cmd = new

53、SqlCommand(sql, UserHelper.connection); try UserHelper.connection.Open(); cmd.Parameters.Add(sqlparame0); cmd.Parameters.Add(sqlparame1); int result = (int)cmd.ExecuteScalar(); if (result = 1) UserHelper.connection.Close(); UserHelper.loginName = this.txtUser.Text.ToString(); sql = string.Format(ins

54、ert into WorkLogBBs(wuser,wdatetime,wstate) values (0,1,登录), txtUser.Text, DateTime.Now.ToString(); cmd.CommandText = sql; try UserHelper.connection.Open(); cmd.ExecuteNonQuery(); MainForm main = new MainForm(txtUser.Text); main.Show(); this.Hide(); catch (Exception ex) MessageBox.Show(ex.Message);

55、finally UserHelper.connection.Close(); else MessageBox.Show(用户名或密码错误!); txtPwd.Clear(); txtPwd.Focus(); catch (Exception ex) Console.WriteLine(ex.ToString(); finally UserHelper.connection.Close(); #endregion /取消 private void btnCancel_Click(object sender, EventArgs e) this.Close(); /主窗体设计 using Syst

56、em;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Data.SqlClient;namespace 人事管理系统 public partial class MainForm : Form bool ef_flag = false; bool cowa_flag = false; bool salary_flag = false

57、; bool system_flag = false; bool branch_flag = false; EmployeeForm ef = new EmployeeForm();/员工信息窗体 COWAForm cowa = new COWAForm(); /考勤信息窗体 SalaryForm salary = new SalaryForm();/薪资信息窗体 BranchForm branch = new BranchForm();/部门信息窗体 SystemForm system = new SystemForm();/系统管理窗体 string user = ; public Mai

58、nForm(string a) user = a; InitializeComponent(); / / 员工管理 / / / private void btnMinistry_Click(object sender, EventArgs e) ef.MdiParent = this; if (ef_flag = false) ef.Show(); ef_flag = true; if (cowa_flag) cowa.Hide(); cowa_flag = false; if (salary_flag) salary.Hide(); salary_flag = false; if (bran

59、ch_flag) branch.Hide(); branch_flag = false; if (system_flag) system.Hide(); system_flag = false; / / 考勤管理 / / / private void btnAttendance_Click(object sender, EventArgs e) cowa.MdiParent = this; if (cowa_flag = false) cowa.Show(); cowa_flag = true; if (ef_flag) ef.Hide(); ef_flag = false; if (sala

60、ry_flag) salary.Hide(); salary_flag = false; if (branch_flag) branch.Hide(); branch_flag = false; if (system_flag) system.Hide(); system_flag = false; / / 薪资管理 / / / private void btnLaborage_Click(object sender, EventArgs e) salary.MdiParent = this; if (salary_flag = false) salary.Show(); salary_flag =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论