基于C的认识工资管理系统方案_第1页
基于C的认识工资管理系统方案_第2页
基于C的认识工资管理系统方案_第3页
基于C的认识工资管理系统方案_第4页
基于C的认识工资管理系统方案_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

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

文档简介

1、 . . . 理工大学毕业设计题目:基于C#的认识工资管理系统- 40 - / 45理工大学毕业设计(论文)评语学生:奔鑫 学号:0504020331学 院:计算机科学与技术 专业:网络工程任务起止时间: 2009 年 3 月 9 日至 2009 年 6 月 27 日毕业设计(论文)题目:基于C#的人事工资管理系统指导教师对毕业设计(论文)的评语:指导教师签名:指导教师职称:评阅教师对毕业设计(论文)的评语:评阅教师签名: 评阅教师职称:答辩委员会对毕业设计(论文)的评语:答辩委员会评定,该生毕业设计(论文)成绩为:答辩委员会主席签名: 职称:年 月 日理工大学毕业设计(论文)任务书学生: 奔

2、鑫 学号:0504020331学 院:计算机科学与技术 专业:网络工程任务起止时间: 2009 年 3 月 9 日至 2009 年 6 月 27 日毕业设计(论文)题目:基于C#的人事工资管理系统毕业设计工作容: 3月09日3月22日 查阅文献3月23日4月12日 学习C#与其开发环境4月13日4月26日 学习SQL Server 2005系统4月27日5月10日 需求分析5月11日5月24日 系统分析5月25日6月07日 系统设计6月08日6月21日 系统实现与调试6月22日6月27日 撰写论文、答辩资料:1 Charles Petzold.C#程序设计M.:机械工业,2004.2 Jame

3、s Foxall.Visual C# 2005入门经典M.:人民邮电,2007.3 启明工作室.SQL Server 2005数据库应用系统开发.:人民邮电,2007.指导教师意见:签名:年 月 日系主任意见:签名:年 月 日目录基于C#的人事工资管理系统第一章 前言人的管理是一切管理工作的核心。员工代表一个企业的形象,因而人事管理机制设计的好坏,直接影响一个企业的成败。员工的工资管理是企业人事管理的基础,在企业员工普遍流失的今天,一个准确而与时的人事管理系统,有利于人事部门对员工流动进行分析、编制,为酒店所需人员提供了保障。人力资源部那些重复的,事务性的工作交给HRP(Human Resou

4、rce Planning,人力资源管理系统)来解决,可以省去用户以往人力资源管理工作的繁琐、枯燥;用领先的人力资源管理理念,把人力资源管理的作业流程控制和战略规划设计巧妙地集合于一体;系统重点涉与到人力资源管理工作中的薪资、考勤、绩效、调动、基本信息、用户管理以与用户切换等方面,并有综合的系统安全设置、报表综合管理模块。可以很好地为用户的人力资源管理部门在对员工的成本管理、知识管理、绩效管理等综合管理给予帮助。以每个月中所发工资为例,其中包括考勤、人事信息变动、奖惩、迟到和旷工对本月的薪资计算都有影响,为了与时的计算发放工资往往要提前一个星期花费大量时间,加班加点才能与时完成,而这样做无论从工

5、作效率还是准确度方面,都不允许,而且还浪费大量的人力财力。如果改用HRP管理做到高效、高精度,还可以减少管理时带来的一些繁琐的工作,节约管理带来的开支。第二章 .NET技术概述2000年七月在美国奥兰多举行的专业开发者大会上,微软公司展示了它最新的.NET体系,从多的发言人向大会介绍了.NET的特征和构成。从此,软件业界就开始掀起了一股“.NET”热潮。通过.NET, 微软公司为人们提供了一种全新的开发平台,这个平台将推动以新体系为基础的协同WEB应用开发。微软公司推出Visual Studio.NET 的目的就是要推进网络应用软件的开发,使用Visual Studio.NET开发系统可以编写

6、最简单的基于Windows的单层应用软件,也可以编写Windows下的客户/服务器多层应用软,无论是为了Windows还是为Web , Visual Studio都在各个层面上作了大量的工作。Visual Studio.NET与以往版本相比发生了巨大的变化,这种变化主要来自以下两个方面。一是语言本身的改进和.NET平台的建立。无论是在网络应用还是在本地应用上,都对各种语言做了许多改进,特别是用崭新的C#语言代替了J+。C#具有简捷、灵活、安全、面向对象和兼容性强等许多优点,是.NET中的旗帜语言。二是开发环境的重大改变。首先,在一个开发环境中同时集成了Visual Basic、Visual C

7、+、Visual C#和FoxPro。其次,开发环境的适应性大大增强了,适用于快速Web应用软件的开发,可以轻松地运用XML和WEB服务进行跨平台计算,也可以快速开发中间层商务组件。再次,调试功能增强了,它可以调试不同语言开发的应用程序,也可以调试工程,进程和存储过程。这些新特性使用户的开发效率有了大幅度的提高。正如微软公司首席执行管鲍尔默所说:“Microsoft.NET代表了一个集合、一个环境、一个可以作为平台支持下一代Internet的可编程结构。Microsoft.NET的策略是把因特网本身作为构建新一代操作系统的基础,将因特网和操作系统的设计思想合理延伸。Visual C#是微软公司

8、为它的Microsoft.NET计划推出的核心编程语言。该语言几乎综合了目前所有编程语言系统的优点,并结合因特网的需要,增加了丰富的新特性和增强功能。Visual C#语言面向对象的设计,可以用来构建从高水平的商务目标到体系标准应用程序的围宽广的组件。使用Visual C#语言,程序员能够迅速地建造提供充分开拓计算和通信的工具和服务的新的Microsoft.NET平台。C#语言的组成部分使用简单的C#语言结构体,能被转化成WEB服务,允许人们通过Internet调用在任何操作系统上运行的任何语言。Visual C#语言作为一种编程语言,具有以下几个至关重要的特点:u 兼容性;u 灵活性;u 简

9、单性;u 面向对象;u 类开安全;u 版本控制;Visual C#具有C,C+语言的灵活性和语言开发效率高的特点,同时又是网络服务语言,体现了许多新的现代化开发技术。因此我们完成底层平台的调用和底层平代码的控制,实现跨语言、跨平台的因特网远程调用、可以构建复杂的商务系统。第三章开发人事劳资管理系统的问题3.1人事劳资管理系统的简介人事劳资管理系统是针对商厦人事处的大量业务处理工作而开发的管理软件。根据用户的要求,实现人员基本情况管理、工资管理、和考勤管理。等几个方面的功能。用户通过输入工资、考勤、职工履历等基本信息,由系统自行生成相应的统计数据与各类统计报表以供用户查询、打印,另外用户还可以对

10、这些基本信息进行定期的更新和删除, 商厦人事劳资管理系统力求给用户方便快捷的途径去管理这些繁琐的数据。3.2人事管理系统的用户需求·总体功能需求人事劳资管理系统是针对人事处的大量业务处理工作用计算机进行全面现代化管理.主要包括人员基本情况管理、工资管理、和考勤管理。等几个方面的功能,以实现用户方便的输入、查询、统计、打印相关报表的业务需求。·具体系统功能需求描述(1)人员基本情况管理提供对”商厦人员履历表”数据输入、组合条件查询、统计、打印功能,实现”职工花名册”数据生成、查询、统计、打印功能。(2)职工工资管理提供对”商场职工工资表”数据的输入、查询、按商场统计、打印功能

11、,完成每月对“商场职工工资表”数据的月统计,以此生成“商场职工工资总额构成情况表”实现该表的查询、打印功能。实现每季由“商场职工工资总额构成情况表”生成“商厦职工工资总额季度汇总表”与该表的查询、打印功能。(3)职工考勤管理提供对各单位(商场)“月考勤登记表”数据的录入、查询、统计功能;根据“月考勤登记表”数据分单位按各种日考勤标志进行分类统计,且生成“商场职工月考勤统计表”,数据与“商厦职工月考勤统计汇总表”数据,实现该表的查询、打印功能。第四章 商厦人事劳资管理系统的分析和设计4.1 商厦人事劳资管理系统的分析和概要设计根据实际情况,我们使用原型法(Rapid Prototyping)即以

12、少量代价快速地构造一个可执行的软件系统模型。使用户和开发人员可以较快地确定需求,然后采用循环进化的开发方式,对系统模型作连续的精化,将系统需具备的性质逐渐增加上去,直到所有的性质全部满足。此时模块也发展成为最终产品了。通过对用户需求的分析,我们可以分析出该商厦人事劳资管理系统大致可以分为四个模块:人员基本情况管理模块、职工工资管理模块、职工考勤管理模块、系统维护模块。下图说明四者的关系人事劳资管理系统 人事基本情况管理模块职工工资管理模块职工考勤管理模块系统维护模块     现在对这四个模块做具体说明:人事基本情况管理模块:输入:职工

13、信息输出:“商厦人员履历表”“职工花名册”功能:对商厦人事基本信息的查询、统计和打印 ·职工工资管理模块输入:人员月工资输出:“商场职工工资表的月统计”,“商场职工工资总额构成表”与以“商厦职工工资总额季度汇总表”功能:完成商厦员工工资的查询、统计和打印·职工考勤管理模块输入;员工每日考勤情况输出:“月考勤登计表”、“商场职工月考勤统计表”、“商厦职工月考勤统计表”功能:完成对员工考勤情况的查询、根据日考勤标志进行分类统计与表的打印。 ·系统维护模块输入:输出:功能:完成对系统数据和数据库的维护,如用户名、密码的更新,数据库 数据的备份、恢复以

14、与定期删除,还有单位的编码化。 4.2 商厦人事劳资管理系统数据库设计由于考虑到本系统是应用在单机系统上,另外根据商厦人员规模,我们只建立起一个数据库,在此数据库基础上建立起如下表:·职工基本信息表employee_information_table·职工工资表 employee_salary_table·职工考勤表 employee_attendance_table·单位编码表 company_code_table·系统信息表 system_table 另外,根据实际统计需要,我们另外建立两个统计表,用以存放部分统计表的信息以便查询

15、。·职工工资统计表 employee_salary_sum·职工考勤统计表 employee_attendance_sum第五章 系统模块的具体实现 在本系统中有四个子模块组成。它们分别是员工基本信息模块、员工工资信息模块、员工考勤信息模块和系统维护模块,下面就开发这几个模块的过程与所遇到的问题分别加以介绍。 5.1员工基本信息模块该模块主要完成员工基本信息的录入、查询、统计与打印功能。在此模块中定义了三个主要窗口:员工花名册窗口、员工履历表信息窗口和组合条件查询窗口。后两者均需通过前者访问。员工花名册窗口中显示的是员工必要信息。可供用户浏览查询与以其记录为单位的

16、操作。如果用户修改某一纪录中的某一项,可双击该条纪录进入员工履历表窗口,此窗口使用数据窗口的FREEDOM风格(典型的录入界面)。该种风格特点是列标题紧挨着数据列。在此窗口显示的是员工的详细资料,在此窗口还可以增加新员工纪录。该模块的第三个窗口是多条件查询窗口,在此窗口中应用了数据窗口这一智能化对象。所以多条件查询也就变得简单起来,只要通过修改数据窗口的QUERYMODE属性。(DW_1.OBJECT.DATAWINDOW.QUERYMODE=“YES”)用户只要输入组合条件,系统就会自动检索出数据,开发人员可以不用再编写冗长的SQL语句。从此一点就可以看出数据窗口的优越之处。 由于数据库基本

17、表与其它表之间的主键的特点,不方便使用外键来保持数据的一致性问题,所以要用手工操作的方法进行数据一致性的维护,主要应用在以下几个方面,职工工资表中加入和删除职工信息,职工考勤表中加入和删除职工信息,履历表中删除职工信息。在职工工资表中和在职工考勤表中加入职工信息时,用户不能任意的输入职工,而是由系统提供专有的添加职工窗口,用于显示该单位花名册已有的职工名,而在职工工资表或职工考勤表中没有的职工名供用户选择,从而要求用户不能任意输入花名册以外的职工信息了,要加入新的职工信息必须先加入到花名册中去。这样就既保证数据库的数据的一致性,又防止了数据的冗余。在职工工资表中和在职工考勤表中删除职工信息时,

18、为保持数据的一致性,就需要立刻重新计算统计量。另外,考虑到职工的编码可以唯一标示职工的单位,所以就对单位进行编码化,即职工编码的前三位唯一标示一个单位,这样就减少数据的冗余。5.2职工工资管理模块 该模块是完成对员工的工资信息的输入、查询、并以此进行统计生成“商场职工工资总额构成情况表”和“商厦职工工资总额季度汇总表”。 此模块主要包括三个窗口,工资录入窗口、商场职工工资总额统计构成和商厦职工工资总额统计窗口,后来两者均可通过第一个窗口的菜单项选择而进入。两个窗口“商场职工工资总额统计表”与“商厦职工工资总额统计表”的数据源均是从数据库EMPOYEE_SALARY表和EMPOYEE_SALAR

19、Y_SUM表中选出。其功能包括打印、预览。由于所打印的表大多很长,很难一个屏幕放下,这就使得用户预览不到整体的效果。所以带两个窗口中均动态修改了数据窗口的放大倍数(DW_1.Modify("DataWindow.Zoom=50")),均以缩小百分之五十的面目出现。这就是用户可以一览打印表全貌,达到打印效果。另外,由于所要求输出的打印表是典型的中国式的表格而POWERBUILDER没有提供相应的风格,所以只有通过选择TABLUR风格的表格(该种风格允许数据列跨页或跨带显示,用户可以根据自己的需要重新组织安排这些数据),自行划线分组增加表头文字。以此达到用户打印表的要求。

20、60;5.3员工考勤管理模块该模块完成对职工考勤信息的输入和查询。并以此数据为基础生成“商场职工月考勤统计表”和“商厦职工月考勤统计汇总表”。此模块主要包括三个窗口,考勤登记窗口、商场职工月考勤,商厦职工考勤统计窗口,后两者均可通过第一个窗口的菜单项选择而访问到。由于在模块中使用的方法和程序框图与职工工资管理模块大致一样,所以这里也就不一一列举了。 5.4系统维护模块 此模块除完成数据的一般性维护如数据的恢复与备份、数据的定期删除,还提供了本系统的部分维护功能,如系统的初始化,(该项功能将删除数据库中所有数据,所以仅在系统初始生成时使用)另外还有密码的修改和单位编码。下面就数据维护和

21、单位编码分别进行一下讨论。尽管系统中采取各种保护措施来防止数据的安全性和完整性的破坏,但由于计算机系统中硬件的故障、软件的错误、操作员的失误以与故意的破坏,问题仍然是不可避免的,而且这些故障轻则造成运行事务非正常中断,影响数据库中数据的正确性,重则破坏数据库,使数据库中全部或部分数据丢失。因此作为一个完整的管理信息系统,数据的备份和恢复当然是少不了的,在这里我们使用数据窗口提供的SAVEAS()函数和IMPORT()函数分别作为数据的备份和恢复,要声明的是在这个过程中我们把指定的文件名设为NULL。以便使系统弹出公共对话框由用户选择文件名和保存路径以与保存格式,这给用户提供了更大的自由度,当然

22、,也带来了一些问题。例如,如果用户选择的保存格式为TEXT WITH HEADERS时(即含表头的文件格式),在恢复过程中就会报错,所以这点在帮助的文档中特别加以注明。至于单位编码问题,主要是为了减少数据库冗余,因为根据用户需求职工编码的前三位就唯一标识单位,所以就在系统维护中特别添加此项。在开发此过程中遇到不少困难,例如在用户修改编码时,如果不保存原有的编码就无法更新职工编码,就造成数据丢失,为解决这一问题就做了以下的工作:首先在修改后保存前先把数据库编码(待改编码)保存起来,然后把修改后的编码(还未保存编码)从数据缓冲区中取出,然后以待改编码为检索条件。检索出职工编码,修改成新的编码,最后

23、保存起来。第六章 系统开发的其他方面在这一节中,我们主要讨论了两个问题,一个是系统的联机文档,另一个是系统的测试,下面我们分别加以说明。作为一个完整的系统,联机文档是其中不可缺少的部分也是相当重要的部分。好的文档能够使用户快速了解并准确的使用系统的各项功能。减少误操作,减少错误产生的可能,这对用户和开发人员都有很多的好处。所以在开发本系统中,也加入了不少的文档,除了对于四大模块的详细说明外,对于易出错和不易操作的地方(如多条件查询部分)又作了详细的说明。由于程序员本身能力的局限性,所以做编写的代码,即使经过反复检查也难免出错所以在本阶段力求使用有限的时间找出尽可能多的错误,力求系统尽量正确。我

24、们在本系统的测试中使用了黑盒法(即不关心程序部的逻辑结构,而是根据程序的功能来设计是检测)请一位不熟悉本系统的人来进行随意性的操作,打破习惯的操作顺序,从中发现错误,在此阶段系统的大量错误得到了改善。 第七章 性能要求一个合理的HRP管理软件必须具备以下功能:信息管理考勤管理薪资管理变动管理奖惩管理用户管理系统安全综合报表权限管理7.1档案信息管理: 企业人事档案管理信息化模块;具有快速、无限量员工数据输入与保存功能;由特定权限的管理员统一管理员工档案。对员工从进入公司开始直至离职的整个过程进行人面管理,档案信息包括,职员编号,职员,出生年月,职工学历,定时检查更新员工信息,具有权限

25、的使用者可以登记、查询、修改、统计部门信息、岗位设置情况。并且可以根据一定条件查询后浏览各项记录,并可以进得相应的操作。u 个人资料录入,建立企业人事档案数据库。u 个人资料维护,更新,删除数据库记录。u 个人资料查询(按员工编号查询,按员工查, 按员工学历查询, 按所属部门查询)。u 屏幕显示员工照片。u 分类打印。u 信息浏览。7.2考勤管理: 企业考勤管理信息化模块;记录员工上下班、加班、出、缺勤时间;可将考勤数据轻松处理,并连至薪资计算系统,以便作薪资结算;企业还可根据此考勤系统查询企业各时段的员工出、缺勤状况,作管理方面的分析;提供了全面的考勤管理。u 录入数据, 对员工每一天的考勤

26、都能动态添加,与薪资系统直接无缝集成。u 更新数据,可以对员工的考勤信息做出更新,以便于统计更准确的数据。u 删除数据,可以对数据的冗余信息与时清理,与时清理数据库。u 查询数据,可对特定员工的特定月份进行查询,这对人事管理都与时了考勤信息是很重要的。u 报表分析,报表分析可以实现对特定职员的考勤信息进行统计,并实现打印功还可以实现对所有员工的考勤信息进行统计,对比,可以帮助人力资源管理都,省时,省力,准确地统计本公司员工的考勤信息。u 右键功能:并提供了方便,强大的右键功能,可以方便地实现对数据进行更新,添加删除操作,执行添加操作时,考勤编号由系统自动生成,为了更能体现交互性,管理者也可以对

27、职员编号进行改变,更新操作,当选取一项记录后执行更新操作,相应的数据将全都显示出来,操作者只需对特定的信息加修改,然后提交即可,在很大程序上减轻了操作者的工作量,真正体现本系统的省时,省力之功效。7.3薪资管理: 企业成本核算信息化模块;符合国家薪资管理制度要求。u 薪资录入:与考勤系统直接集成,无缝数据接口问题,薪资编号也由系统自动生成,财务人员也可以对编号进行更改,财务人员只需输入员工编号,并选择薪资日期,以下的信息都会由系统自动填充,由于信息都实现了与职员基本信息,奖惩管理,考勤管理无缝连接,所以由系统生成的数据都是不能修改的,这在很大程序上可以保证薪资数据信息的安全,准确。u 薪资浏览

28、: 插入记录,实现与薪资录入系统的连接,可以更方便地执行录入操作, 删除记录,可以从窗体上方的浏览窗口中选取数据前执行操作, 打印所有,实现对全体员工薪资资料实现打印,保存,打印预览,对于有权限的操作者可以选定特定的职员后,执行薪资支付操作,生成支会表单,前可以实现打印功能,u 制度设置:u 具有权限的操作者可以根据公司制度的变化,对于迟到,加班,出差,旷工等的具体奖励,还是处罚标准能够灵活地进行动态变更,7.4 绩效考核: 企业员工考核规化模块;可对员工在公司的不同就职时间段作绩效考评记录;实现企业员工考核信息的录入,(按职员编号,按奖惩编号)分类查询,并可以对无用的信息资料执行删除操作,与

29、时清理数据库。7.5 系统安全:对于一个成功的人事管理系统来说,系统安全是非常重要的,由系统管理员或系统管理员授权的超级用户对系统进行管理维护;确保人力资源记录与工资数据等资料的高度,防止秘密数据外传和程序遭破坏,每个使用者有各自的密码进入系统;用户可以在受权的围自由更改密码;对于有具有一定权限的用户可以任意修改其它用户的密码。依据工作需要由管理员分配系统操作权限。7.6 报表分析: 一个完善的人事管理系统必须具备报表分析功能,对一特定的数据进行分析,实现打印功能,对数据资料进行保护。7.7用户管理和用户切换: 由于在操作过程序中有些用户可能要更改自己的权限,如果系统数据库有相应的个人用户资料

30、,他就可以进行用户切换,来提高或降低自己的操作权限。要限比较低的用户只能修改自己的密码,而高级用户则可以添加,删除,更新其它用户,提高系统安全性。第八章系统功能简介8.1登录窗体:提供安全的管理机制,进入系统时要输入用户名,密码,并选取类别,只有三项全部与数据库记录相符后才能进入系统,系统对用户的登陆信息进行记录,只有有特定权限的用户才能执行相应的操作,控制系统安全。如图(1-1)所示:图(1-1)登陆验证的代码:string sel="select user_pass,user_type from TheUser where user_name='"+this.t

31、extBox1.Text.ToString().Trim()+"'"string data="none"SqlCommand =new SqlCommand(sel,this.sqlConnection1);trythis.sqlConnection1.Open();SqlDataReader reader=.ExecuteReader();while(reader.Read()string pas=reader0.ToString().Trim();string leibie=reader1.ToString().Trim();data=&qu

32、ot;some"string pas1=this.textBox2.Text.ToString().Trim();string leibie1=this boBox1.Text.ToString().Trim();if(pas1=pas&&leibie1=leibie)this.islogin=true;ManageInfo.Employerleixing=leibie1;ManageInfo.Employername=this.textBox1.Text.ToString().Trim();ManageInfo.Employermima=pas1;this.Clos

33、e();break;elseMessageBox.Show("输入信息有误,请重新输入","提示",MessageBoxButtons.OK,MessageBoxIcon.Information);reader.Close();this.sqlConnection1.Close();if(data!="some")MessageBox.Show("没有相应的用户信息,请查证后重新输入","错误提示",MessageBoxButtons.OK,MessageBoxIcon.Error);catch

34、(Exception ee)MessageBox.Show(ee.Message);this.sqlConnection1.Close();Main();login log=new login();log.ShowDialog();if(log.islogin=true)Application.Run(new Form1();8.2可操作部分包括:职员档案管理、职员考勤管理、职员奖惩管理、职员工资管理,工作调动管理等四大部分组成,如图(2):以与附加更改密码,和更换用户功能,其界面如图(1-2):图(1-2)u 职员档案管理,提供录入、查询、修改、删除和统计功能。职员档案信息录入系统如图:其中

35、员工编号由系统自动生成,操作者也可以通过点击后面的按钮来执行编号加一操作。如图(1-3)所示:图(1-3)实现编号加一操作的代码:int num=System.Int32.Parse(this.textid.Text.ToString().Trim();+num;this.textid.Text=num.ToString().Trim();u 员工信息浏览,更新,修改,删除,以与打印操作,操作者可以通过点击左边的树形控件浏览选定职员的信息,也可以通过选择查询条件(按员工编号查询,按员工查询,按员工学历查询,按所属部门查询)并输入查询条件后查询显示,然后执行相应的操作,如图(1-4)所示:图(1

36、-4)实现窗体中树形控件节点动态绘制功能的代码为:/此函数功能是实现树的重新描绘,描绘时清除原来的树this.treeView1.Nodes.Clear();/先从部门表中读取部门信息,添加为该树的根结点/读取方法是,用数据集的形式,循环读入this.sqlSelectCommand1 mandText="Select * from Department"this.dataSet31.Clear();this.sqlConnection1.Open();trythis.sqlDataAdapter1.Fill(this.dataSet31,"Department&

37、quot;);catch(Exception aa)MessageBox.Show(aa.Message);this.sqlConnection1.Close();this.sqlConnection1.Close();DataTable myDataTable1=this.dataSet31.Tables"Department"foreach(DataRow myDataRow1 in myDataTable1.Rows)/以下方法程序段实现的是在树形控件中添加根节点TreeNode treeNode1=new TreeNode();treeNode1.Text=myDa

38、taRow1"Eminfo_jobdept".ToString().Trim();this.treeView1.Nodes.Add(treeNode1);string sel=treeNode1.Text;/以下方法程序段实现的是在树形控件的根节点下面添加子节点this.sqlSelectCommand2 mandText="SELECT Eminfo_id, Eminfo_name, Eminfo_jobdept FROM Employerinfo WHERE Eminfo_jobdept = '"+sel+"'"t

39、his.dataSet41.Clear();this.sqlConnection1.Open();/this.sqlSelectCommand1.ExecuteNonQuery();this.sqlDataAdapter2.Fill(this.dataSet41,"Employerinfo");this.sqlConnection1.Close();DataTable myDataTable2=this.dataSet41.Tables"Employerinfo"foreach(DataRow myDataRow in myDataTable2.Rows

40、)TreeNode treeNode=new TreeNode();treeNode.Text=myDataRow"Eminfo_name".ToString().Trim();treeNode1.Nodes.Add(treeNode);u 用户执行分类打印的操作如图:可以打印所有,还可以按部门打印职员的基本信息;在一定程序上提高了程序与操作者之间的交互性。如图(1-5)所示:图(1-5)8.3 工作调动处理:可处理员工在部门、部门之间的工作职务调动。员工调入、调出本单位处理等。对于本子系统,也由系统自动后成编号,操作者只需输入职员编号,和需要调往的部门或职位,另外要选择事

41、件发生的时间,其余的信息都由系统自动生成,用户也可以对职员的调动信息进行预览,删除等操作,自动生成职位变动编号代码为:string sel="select count(*) from Emposchange"SqlCommand =new SqlCommand(sel,this.sqlConnection1);trythis.sqlConnection1.Open();SqlDataReader reader=.ExecuteReader();while(reader.Read()string date=System.DateTime.Now.Year.ToString()

42、;this.textBox4.Text=date+reader0.ToString().Trim().PadLeft(2,'0');reader.Close();this.sqlConnection1.Close();catch(Exception ee)this.sqlConnection1.Close();MessageBox.Show(ee.Message);子系统执行界面如图(1-6)所示:图(1-6)当焦点进入职员后的编辑框后实现实动填充信息的代码为:if(this.textBox5.Text="")MessageBox.Show("你没

43、有输入相应编号的职员,请查证后输入以显示正确信息");elsestring sel="Select Eminfo_name,Eminfo_jobposit from Employerinfo where Eminfo_id='"+this.textBox5.Text.ToString().Trim()+"'"SqlCommand =new SqlCommand(sel,this.sqlConnection1);this.sqlConnection1.Open();trySqlDataReader reader=.ExecuteR

44、eader();while(reader.Read()this.textBox6.Text=reader0.ToString().Trim();this.textBox8.Text=reader1.ToString().Trim();reader.Close();this.sqlConnection1.Close();catch(Exception ee)this.sqlConnection1.Close();MessageBox.Show(ee.Message);8.4 奖惩管理子系统:可处理员工在本月份职员奖惩信息的录入(包括考评记录,以与金额等,)以与删除功能,此子系统将与薪资管理系统无

45、缝接合,实现薪资数据的自动化添加。如图(1-7)所示:图(1-7)职员奖惩信息录入的代码为:this.sqlConnection1.Open();this.sqlDataAdapter1.Fill(this.emre1,"Emre");this.sqlConnection1.Close();DataRow myDataRow1=this.emre1.Tables"Emre".NewRow();trymyDataRow1"Emreinfo_num"=this.textBox1.Text;myDataRow1"Eminfo_id

46、"=this.textBox2.Text;myDataRow1"Emreinfo_date"=this byear.Text.ToString().Trim()+this bomont.ToString().Trim();myDataRow1"Emreinfo_resco"=this.textBox3.Text;myDataRow1"Emreinfo_punsco"=this.textBox4.Text;myDataRow1"Emreinfo_punmon"=this.textBox5.Text;myDa

47、taRow1"Emreinfo_remon"=this.textBox6.Text;this.emre1.Tables"Emre".Rows.Add(myDataRow1);this.sqlDataAdapter1.Update(this.emre1,"Emre");MessageBox.Show("录入数据成功");catch(Exception ee)MessageBox.Show(ee.Message);this.sqlConnection1.Close();8.5 考勤管理:本子系统实现了自动生成编号,实实

48、现考勤信息的录入,更新,删除功能。本系统也提供最一定功能的右键功能,操作都可以选取一定的记录后执行相应的操作,如果是执行更新信息操作,则所选项的信息资料将在窗体下方的编辑框中显示,有权限的操作者只需填写相应更新的项后就可以执行更新操作,在很大程序上降低操作者的工作量。如图(1-8)所示:图(1-8)为了防止提高系统的安全性,在该窗体打开时对用户的权限做了如下规定:if(ManageInfo.Employerleixing="一般职员"|ManageInfo.Employerleixing="财务人员 ")this.button1.Enabled=fals

49、e;this.button5.Enabled=false;this.button8.Enabled=false;this.button6.Enabled=false;elsethis.sqlConnection2.Open();this.sqlDataAdapter1.Fill(this.emattendmanage1,"Emattendinfo");this.sqlConnection2.Close();实现数据录入的代码为:DataTable myDataTable=this.emattendmanage1.Tables"Emattendinfo"D

50、ataRow myDataRow=myDataTable.NewRow();myDataRow"Emattend_num"=this.textBox1.Text.ToString().Trim();myDataRow"Eminfo_id"=this.textBox2.Text.ToString().Trim();myDataRow"Emattend_month"=this boBox1.Text.ToString().Trim()+"-"+this boBox2.Text.ToString().Trim();myD

51、ataRow"Emattend_late"=Convert.ToInt16(this.textBox3.Text);myDataRow"Emattend_abs"=System.Double.Parse(this.textBox4.Text);myDataRow"Emattend_even"=System.Double.Parse(this.textBox5.Text);myDataRow"Emattend_jiab"=System.Convert.ToInt16(this.textBox6.Text);myDat

52、aRow"Emattend_matt"=Convert.ToInt16(this.textBox7.Text);myDataTable.Rows.Add(myDataRow);trythis.sqlDataAdapter1.Update(this.emattendmanage1,"Emattendinfo");MessageBox.Show("录入数据成功");FillData();catch(Exception ee)MessageBox.Show(ee.Message);This.SqlConnection.Close();Lis

53、tView控件的数据添加代码为:this.listView1.Items.Clear();string sel="Select * from Emattendinfo"SqlCommand =new SqlCommand(sel,this.sqlConnection2);this.sqlConnection2.Open();SqlDataReader reader=.ExecuteReader();while(reader.Read()ListViewItem item=new ListViewItem();item.SubItems0.Text=reader0.ToStr

54、ing().Trim();item.SubItems.Add(reader1.ToString().Trim();item.SubItems.Add(reader2.ToString().Trim();item.SubItems.Add(reader3.ToString().Trim();item.SubItems.Add(reader4.ToString().Trim();item.SubItems.Add(reader5.ToString().Trim();item.SubItems.Add(reader6.ToString().Trim();item.SubItems.Add(reade

55、r7.ToString().Trim();this.listView1.Items.Add(item);reader.Close();this.sqlConnection2.Close();执行右键删除考勤信息的代码为:if(this.listView1.Items.Count<1)MessageBox.Show("请你先中一项记录后再执行相应的操作");elseif(MessageBox.Show ("您确定要删除选定的记录吗? ", "删除记录",MessageBoxButtons.YesNo, MessageBoxIcon

56、.Question) = DialogResult.Yes) string sel=this.listView1.SelectedItems0.SubItems0.Text.ToString().Trim();string del="delete from Emattendinfo where Emattend_num='"+sel+"'"SqlCommand =new SqlCommand(del,this.sqlConnection2);trythis.sqlConnection2.Open();.ExecuteNonQuery();MessageBox.Show("成功删除数据");FillData();this.sqlConnection2.Close();catch(Exception ee)MessageBo

温馨提示

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

评论

0/150

提交评论