毕业设计(论文)FoxERP人事管理系统.doc
Fox_ERP人事管理系统-毕业设计(论文)指 导 老 师 专 业 计算机应用与维护 组 长 班 级 组 员 成都电子机械高等专科学校2007年6月10日前言人事管理系统是一个典型的信息管理系统(MIS),本系统是一个为适应当前对人事信息管理的需求而设计开发的软件系统,其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面,经过分析和比较,我们决定使用SQL server 2000数据库开发工具,利用其提供的各种面向对象的开发手段,尤其是数据窗口这能方便而简洁操纵数据库的智能化对象,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修正和改进,至到形成用户满意的可行系统。人事管理是企业管理的一个重要分支。随着当今企业人员数量不断增加、分工的不断细化、各行业间联系的不断密切。对人事管理的要求也不断提高,实现人事管理自动化,无疑将带来高效率的企业管理。人员是企业生存的主要元素,人员的增减、变动将直接影响到企业的整体运作,企业每天都要涉及到员工问题。企业员工越多、分工越细、联系越密,所要做的统计工作就越多,人事管理的难度就越大。最初的人事管理采用人工方式,记录量大,易出错。人事管理系统就是用电脑代替大量的人工记录,完成众多信息的处理,方便、准确度高,且可以长期保存。人事管理系统,为个人提供资料查询服务,为企业提供员工分工等服务。旧式的用纸张材料来记录的人工管理方式已不适合现代企业公司的发展,实现人事管理的系统化、规范化、自动化,将成为现代公司管理人员的首选。本系统基本上能满足现代企业人事管理的需求,人事管理系统中使用各种表格,保存相关的人员信息,方便查询、浏览、修改等操作。人事管理系统的前提是一定要有员工的在职作为基础,在使用的时候一定要保证员工在职的人事信息数据库。目 录第一章 概述4第二章 系统功能42.1 需求分析42.1.1 物理需求52.1.2 结构需求52.1.3 逻辑需求52.2 FoxERP人事管理系统功能6第三章 系统分析图83.1 UML 图83.1.1 用例图83.1.2类图113.1.3活动图123.2系统架构12第四章 主要关键技术134.1关键技术之一134.2关键技术之二154.3关键技术之三16第五章 数据库结构1651 数据库设计1652 人事管理系统的数据模型图22第六章 使用FOXERP人事管理系统说明书226.1 FoxERP人事管理系统平台226.1.1 硬件需求:226.1.2 安装:226.1.3 第二期工程的后续工作:226.2 FoxERP人事管理登录和进入系统226.2.1 登 录226.2.2 进入FoxERP人事管理系统主界面236.2.3 使用说明23(2):人事异动说明:28(3):教育训练:30(4):考绩奖惩:32(5):退休作业:36(6):用户注册:37第七章 FOX-ERP人事管理主要源程序387.1 密码的修改和找回387.1.1 修改密码代码387.1.2 找回密码代码397.2 员工就职417.2.1 代号档资料维护界面代码417.2.2 员工基本资料:457.2.3 津贴/扣款维护:507.2.4 健保眷属资料维护代码:527.2.5 经历资料维护代码:547.2.6 证照资料维护代码:567.2.7 技能资料维护代码:597.3 人事异动607.3.1 就职单维护代码:607.3.2 调职单维护代码:627.3.3 离职单维护代码:657.3.4 复职单维护代码:687.4 教育训练717.4.1 教育训练课程文件维护717.4.2 教育训练员工文件维护757.4.3 教育训练课程名单777.5.3 奖惩资料添加827.5.4 奖惩资料维护847.6 退休作业7.4.4 教育训练上课员工名单787.5考绩与奖惩作业787.5.1 考绩资料添加787.5.2 考绩资料维护80867.6.1 退休员工就职文件维护867.6.2 未来退休员工预估表897.7 用户注册897.7.1 设置用户897.7.2 用户注册91总 结92参考文献93谢 辞93第一章 概述随着计算机技术的飞速发展,计算机在企业管理中应用的普及,利用计算机实现企业人事的管理势在必行。对于大中型企业来说,利用计算机支持企业高效率完成劳动人事管理的日常事务,是适应现代企业制度要求、推动企业劳动人事管理走向科学化、规范化的必要条件。不同的企业具有不同的人事管理制度,这就决定了不同的企业需要不同的人事管理系统。本论文详细介绍了一个人事管理系统实例的开发与应用,是一个数据库应用系统完整的制作过程。主要内容有:系统概述、系统功能、系统分析图、关键技术、数据结构、系统说明书、源程序、总结等。其中系统功能中主要对系统的数据流程进行了详细描述;系统分析图中主要描绘出了该人事管理系统的UML图和系统架构;系统说明书中介绍了对该人事管理系统实例的基本功能。人事管理系统结合企业实际的人事、财务制度,经过实际的需求进行分析,采用功能强大的Visual Studio.NET 2003做为开发工具,并运用SQL server 2000作为后台数据库而开发出来的人事管理信息系统。整个系统分为两大主要功能模块和后台数据库服务器模块1、通过B/S(浏览器/服务器)结构实现的Web部分 Web部分主要供员工使用。普通员工可以通过 Web 浏览自己的基本资料、考勤信息、薪资信息和请假记录等。员工也可以通过Web 提出请假申请。2、通过C/S(客户端/服务器)结构实现的Windows部分 Windows部分主要供人事部使用。主要功能是管理员工薪资资料、员工考勤、计算员工薪资和业绩评定等。大部分涉及对敏感数据修改的工作都仅由人事部完成,如计算薪资、修改考勤记录;并且有些只有人事经理才可以处理,如定制部门、指定员工的基本薪资等。3、通过SQL Server 2000实现的后台数据库服务器模块 数据库中存储了人事管理系统中所有的信息和数据,为保证稳定性和良好的并发访问能力,采用SQL Server 2000来实现。第二章 系统功能2.1 需求分析软件工程中包含需求、设计、编码和测试四个阶段,其中需求分析是软件工程中第一个也是很重要的一个阶段,需求分析的基本任务就是准确地回答“系统必须做什么”这个问题,而它的主要任务就是绘制关联图、创建开发原型、分析可行性、确定需求优先级、为需求建立模型、编写数据字典、应用质量功能调配。需求分析从总体上看是说明项目应该具有什么样的功能,而不考虑实现这些功能的具体技术。ERP系统包括22个子系统,人事管理系统是其中的一个子系统,要理解人事管理系统,就必须了解系统与哪个子系统相关联,以及它具有怎样的功能。人事管理系统将人事档案的手工管理变成计算机管理,充分发挥计算机的快捷、准确、高效、方便的特点,极大地提高了各种效率和工作质量。在实际项目的开发中,需求分析是客户提出的,现在的企业资源计划的软件要有物流、资金流、信息流,并且要以资金流为中心,ERP则是一个较完善的软件,也是具有管理理论的信息系统。同时ERP具有较强的通用性,大多数企业都需要具备的一些基本功能成为ERP的需求。系统的需求分为物理需求、结构需求、逻辑需求。例如人事管理系统的需求如下所示:2.1.1 物理需求 物理需求的任务很明确,就是确定人事系统的物理服务器的最终架构和软硬件环境。根据人事管理系统的基本要求,物理需求应包括如下几个方面:(1) 支持可分布式部署的服务器群组支持分布式的服务器组是优秀的网络应用程序必须提供的一个物理功能,因为大型的网络应用程序不可能将所有的应用和操作运行于同一台服务器。支持分布式的服务器群组有利于降低服务器负荷,使服务器的功能更加具有针对性。(2) 支持.NET的服务器操作平台 这是必需要满足的需求。ASP.NET应用程序不可能脱离.NET Framework的支持,因此WEB服务器必须支持.NET.(3) 仅限于Microsoft SQL Server 的数据库管理系统支持多种数据库类型是一个不错的构想,但是人事管理系统主要体现的是ASP.NET 以及ADO.NET中的数据操作新特性,而在ADO.NET中的针对于Microsoft SQL Server提供了很多的具体方法和对象。为了介绍和展现ADO.NET 中的对象和方法,人事管理系统采用了Microsoft SQL Server 2000 作为系统的数据库管理系统。(4) 必须用到的软件支持人事管理系统要使用Visual Studio 2003, 类图、用例图、活动图要使用CASE工具,在PD10.0的环境下做。2.1.2 结构需求(1)系统的可维护性和可扩展性强 大多数的人事系统在实际应用中都需要不断地添加功能模块,人事管理系统也一样,在二次开发和实际应用中要根据项目的具体情况添加一些功能模块。因此项目在设计之初就要考虑到,当前的架构对系统的扩展工作会不会形成障碍。 使用人事管理系统层次的设计概念能够增强系统的维护性和扩展性,基于层的设计模式允许开发者以三层甚至多层的模式开发人事应用程序,将登录、注册、自定义基本资料 表等单元分离开,每一层都有针对性,层是以一组序列分布在系统数据和用户之间的,不 相连的层在业务上没有耦合,每一层都是继承和调用上一层中的对象和方法。这种模式使得系统的功能分布更加合理化。例如扩展一部分付款方式,首先要在付款方式层中建立相应的方式,然后才是在前台显示层中建立新的页面控件。(2)系统的功能模块通用性强 由于人事管理系统是作为一个示例和应用程序框架被设计和开发的,因此其功能模块简单地说,人事管理系统需要提供员工就职中最基本的对象和这些对象的基本属性,只有这 样才能使基于人事管理系统的二次开发具有更大的扩展性。例如多公司运作只执行最基本的功能,至于一些具体应用方式的特殊属性,并不应出现在系统中。模块化的构建同时也意味着模块之间尽量降低偶合度,这样做的好处是使得更改模块内部或新增其他模块对系统的稳定性影响不大。物理需求和结构需求都是从设计框架上对系统提出了宏观的要求,而逻辑需求则是在实际项目的需求分析阶段对系统的业务逻辑提出的要求。2.1.3 逻辑需求(1) 抽象人事管理系统中的对象和方法人事管理系统中有几个关键的对象,每个对象有其特有的方法。对象通过方法实现其自己的功能。例如可以将人事管理系统中的员工抽象为一个对象,员工的出勤率等可以构建成为对象的属性,而出勤率的计算方式等可以抽象成为商品的方法。(2) 在逻辑上与其他应用程序整和建立人事管理系统的目的是让员工和管理者可以通过网络进行查询、修改等行为动作。当然人事管理系统并不是孤立存在的,人事管理系统属于人事系统,与考勤系统、薪金系统等都是进行交互的。例如人事管理系统需要从考勤系统那里得到考勤单,经核算得出员工的出勤率。这就涉及到人事管理系统与其他的应用程序进行交互的问题,这种交互可能是数据上的共享,也可能是功能上的共享。(3) 完整的人事管理系统人事管理系统里有一个完整的人事管理流程。员工可以挑选整批系统的某个功能,输入某个员工姓名或编号,由系统筛选,再由员工挑选哪些人事管理功能。2.2 FoxERP人事管理系统功能根据需求分析中对系统的要求,人事管理系统的设计者规划了一系列的系统功能。如果说需求分析是提出问题,那么系统功能就是解决问题,针对需求建立功能说明文档。下面将人事管理系统功能总结为如下几个方面:1、 资料保密控管(1)组织权限:依据员工所隶属的人事管理系统组织来决定使用者所能处理的人事权限范围(2)薪资群权限:依据职位的差异或群组的特性将员工予以分群控管,除非人事薪资操作人员拥有处理该薪资群的权限,否则即便拥有了该人事管理系统的组织权限,依然无法处理该薪资群的资料。(3)作业表权限:依据操作人员职务分给不同的操作人员,一方面能理清责任归属,一方面又能确保资料的安全。(4) 主管查询权限:人事管理系统主管不但能方便地查询到自己单位内每位员工的资料,又能在公司规章授权下来查询同一上级人事管理系统内其他单位员工的资料。2、 多公司运作(1) 可同时处理多家公司的资料(2) 同一公司可再分成数个不同人事数据库以便设定不同权限予以控管(3) 不同公司数据库可自行设定不同的年资计算方式以及薪资福利等计薪基数(4) 与财务系统的数据库能紧密结合,自动抛转相关的人事薪资传票3、 员工基本资料(1) 能完整记载每位员工的各项人事资料(至少包含:一般、就职、薪金、眷属、经历、证照等类)(2) 能提供自定义字段功能以便依据公司实际的特殊需要而能自行设定(3) 如需针对新进员工进行安全调查时,能提供安全调查管理的功能(4) 能提供常用的证明书表(如:服务证明书、薪资证明书)(5) 能提供常用的基本资料表(如:通讯簿、生日名单)(6) 能依据员工的技能、证照等专长列出合乎该项专长的名单(7) 提供职号管制功能4、 自定义基本资料表(1) 能提供自定义报表功能,以便随时应付各种临时特殊的员工基本资料查询需求(2) 提供群组合计功能,得以将数个字段资料相同者予以归纳为同一群组,并能将同群组的数值字段资料予以加总、平均或计算笔数(3) 提供自定义筛选条件功能,以便任何组合查询条件筛选出符合条件的资料(4) 提供自定义分析统计报表功能,可以方便地从任一角度来交叉分析现行的人事状况5、人事状况统计表(1)学历分布明细/统计表(依单位、职位、薪资归属等条件分类统计)(2)男女人数分布明细/统计表(依单位、职位、学历、薪资归属等条件分类统计)(3)年资/年龄分布统计表(依单位、职位、学历、薪资归属等条件分类统计)(4)薪金区间统计表(依单位、职位、学历、薪资归属等条件分类统计)(5)组织员额/缺额统计表6、人事异动管理(1)完整记载各项人事异动资料,并提供完整的汇总查询(2)对于临时人员或续聘人员提供方便的职号转换作业,以确保资料的一致性(3)人事异动单据登录时会自动同时更新员工主文件的相关资料,并在异动单据剔除或修改时能自动倒回原始资料(4)留职停薪年资能计算到以日为单位,并在复职时自动扣除留职停薪的年资(5)提供各式人事异动名单报表,如就职名单、离职名单、调薪名单(6)提供人事异动统计分析表,得以方便地查询人事异动的状况(7)提供职务异动公告表,不必再由人工誊打7、教育训练(1)提供不同角度(课程别/员工别、内训/外训、有无认证) 的报表查询功能(2)能提供训练人事统计报表(3)需进行人力资源库筛选时,能提供教育训练结果的分析名单8、奖惩(1)奖惩资料能自动转为考绩的加扣分(2)奖惩资料能自动转为年终奖金的加扣天数(3)奖惩资料能自动转至当月薪资发放的加扣金额(4)提供奖惩公告表,不必再由人工誊打9、考绩(1)能依据企业实际需要自行设定考核种类(如:月考绩、季考绩、年考绩、新近人员考绩、临时考绩)(2)能自行定义考核表的种类、考核项目及评等标准(3)能分别设定个别员工适用的考核表种类(4)请假、奖惩结果能自动转入加扣考绩分数(5)能进行不同期间的考核结果比较或同年度内不同考核种类的成绩比较(6)能提供员工自我考核的功能(7)能依据考核人员权限的不同,设定不同考核权数(8)考绩资料的输入除了提供统一由考绩管理员集中登录功能外,也能提供由自行设定考核成绩的分类区间,予以分等统计10、退休(1)提供未来退休员工预估名单及退休金的报表,以供分析及财务调度参考(2)随时依据政府法令的修正,机动调整退休金基数的核算(3)能自动转入退休员工的基本资料 ,并提供方便的维护功能(4)未满一年的年资计算方式能符合各项规章的要求第三章 系统分析图3.1 UML 图UML(统一建模语言)是一种对于软件密集型系统的制品进行可视化、详述、构造和文档化的图形语言。UML给出了一种描述系统蓝图的标准方法,其中即包括概念性的事物,如业务过程和系统功能,也包括了具体的事物,如用特定的编程语言编写的类、数据库模式和可复用的软件结构。UML图根据描述的功能不同可分为很多中类型,如系统类构造图是描述系统中类的构造和属性的图,用例图是描述系统中用例基本信息的图,交互图是描述系统中交互行为的图,活动图是描述系统活动的流程图。3.1.1 用例图用例图主要是对系统、子系统或类的行为进行建模,如下图是系统的总体用例图,描述系统中的用户与功能模块之间的类。登录: 基本资料维护与员工就职设定 :人事异动作业与退休作业:教育作业与奖惩作业:考绩作业:3.1.2类图3.1.3活动图3.2系统架构经过了对系统的需求分析和UML的分析,基本上是完成了人事管理系统的系统框架的建立,但是已经做过了工作都是设计方面的,下面涉及到的就是实际的工作。下面介绍的就是人事管理系统的命名和编码的约定、文件结构、部署等方面的问题的总体规划。1、命名和编码的约定命名和编码的约定是软件工程中很重要的一部分内容,特别是多人进行协同工作的团队,我们的人事管理系统是由4个人组成的一个小团队。我们采用的命名规则是Pascal的大小写规则,该规则约定在变量中使用的所有的单词的第一个字符都是大写,并且不使用空格和符号。Microsoft公司推荐的另外一种大小写规则叫作camel,该规则约定在变量中使用的第一个单词的首字母小写,期于单词的首字母都是大写。在包括类、枚举类型、名称、属性、事件、方法、命名空间在内的大部分命名中使用Pascal规则。2、文件夹结构有组织的文件夹结构是一个成功的项目必不可少的,项目中代码文件需要有组织的放置,在人事管理系统中,文件夹的结构是显得十分有序的在人事管理系统中的主目录下有几个需要介绍的目录:BIN 目录为项目编译之后的DLL文件,Components目录为项目中数据访问层的类库文件夹,database目录是存放数据库的文件夹,help是用来存放帮助功能里面的静态网页,Images目录为项目中图片存放的文件夹。在项目的主目录下存放页面文件,页面后台编码类文件以及页面资源文件。3、命名空间(namespace)命名空间是很重要的,一个命名空间能够包含多个程序集和模块。 在人事管理系统中统一使用foxerp_fy作为应用程序的顶级命名空间。第四章 主要关键技术ASP.NET是微软新推出的新型体系结构.NET框架的一部分,它为构造新一代动态网战和基于网络的分布式应用提高了强有力的支持。与以前的Web开发模型相比,ASP.NET提供了许多重要的优点,例如:简易性、安全性、可管理性等。而且与基于过程的ASP页面技术相比,面向对象技术在ASP.NET中得到了完全实现。用传统ASP技术建立的Web应用实例中,在页面中同时实现显示,业务逻辑和流程控制,这从工程化的角度考虑,它有许多不足之处。用户界面承担着向用户显示问题模型和与用户进行操作和I/O交互的作用。用户希望保持交互操作界面的相对稳定,但更希望根据需要改变和调整显示的内容和形式。在.NET框架下ASP.NET技术结合MVC设计模式很好地解决了上述问题。 我认为在筹资管理模块中,其中的重要技术之一就是用了很多的DataGrid控件来读取数据,便于使用户查询、修改、更新资料的信息。4.1关键技术之一用DataGrid对数据进行绑定,方便从数据库中提取、编辑、保存和删除数据信息。并对人事申请单进行分页处理,方便查看申请单信息。对人事申请单进行修改操作.下面就以员工就职>津贴/扣款维护讲解:DataGrid命名为jtkkG自动分页:public void PageIndexChange(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e) this.jtkkG.EditItemIndex=-1; /取消编辑this.jtkkG.CurrentPageIndex = e.NewPageIndex;/指定当前页为新页 this.DataGridDataBind(); /重新绑定 public void DoItemEdit(object sender, System.Web.UI.WebControls.DataGridCommandEventArgs e) if(Session"UserType".ToString()!="2")/判断权限this.Response.Write("<script language=javascript>alert('对不起,你的权限不够,不能使用修改。');</script>");elsethis.jtkkG.EditItemIndex=e.Item.ItemIndex; /置相应列为编辑状态 this.DataGridDataBind(); /重新绑定数据源 更新:public void DOItemUpdate(object sender, System.Web.UI.WebControls.DataGridCommandEventArgs e)Class.JiuZhi jiuzhiWH=new FoxERP_HRSA.Class.JiuZhi();DataSet dataSet=new DataSet();dataSet=jiuzhiWH.GetJinTieKouKuanList(yuangongZHT.Text.Trim();int jintiekoukuanid=int.Parse(dataSet.Tables"JinTieKouKuanList".Rowse.Item.ItemIndex"jintiekoukuanID".ToString();/从数据集中取出员工ID更新数据源:jiuzhiWH.UpdateJinTieKouKuan(jintiekoukuanid,(TextBox)e.Item.Cells0.Controls0).Text,(T extBox)e.Item.Cells1.Controls0).Text,Convert.ToDecimal(TextBox)e.Item.Cells2.Controls0).Text.Trim(),Convert.ToDateTime(TextBox)e.Item.Cells3.Controls0).Text.Trim(),Session"yuangongXM".ToString().Trim(),Convert.ToDateTime(DateTime.Now.ToShortDateString();this.jtkkG.EditItemIndex=-1; /重新绑定数据this.DataGridDataBind(); 撤消:public void DoItemCancel(object sender, System.Web.UI.WebControls.DataGridCommandEventArgs e)this.jtkkG.EditItemIndex=-1;/对相应列撤消编辑状态this.DataGridDataBind();public void DeleteJinTieKouKuan(object sender, System.Web.UI.WebControls.DataGridCommandEventArgs e)if(Session"UserType".ToString()!="2"/判断权限)this.Response.Write("<script language=javascript>alert('对不起,你的权限不够,不能使用修改。');</script>");elseClass.JiuZhi jiuzhiWH=new FoxERP_HRSA.Class.JiuZhi();DataSet dataSet=new DataSet();dataSet=jiuzhiWH.GetJinTieKouKuanList(yuangongZHT.Text.Trim();int jintiekoukuanid=int.Parse(dataSet.Tables"JinTieKouKuanList".Rowse.Item.ItemIndex"jintiekoukuanID".ToString();jiuzhiWH.DeleteJinTieKouKuan(jintiekoukuanid);this.DataGridDataBind();4.2关键技术之二通过验证控件来限制和判断文本框信息,对各个人事表单进行添加操作,方便维护人员对人事进行管理.检测员工一般属性是否添加过:public int CheckYuangong(string shenfenNO)SqlConnection myConnection = new SqlConnection (ConfigurationSettings.AppSettings"ConnectionString");/实例化一个数据库连接对象myConnection/实例化一个使用myConnection打开存储过程HRSA110_CheckEmployee的命令myCommandSqlCommand myCommand =new SqlCommand("HRSA110_CheckEmployee",myConnection);/定义myCommand为打开存储过程的数据库命令myCommand.CommandType=CommandType.StoredProcedure;/为myCommand添加参数parameterShenfenNOSqlParameter parameterShenfenNO = new SqlParameter("shenfenNO",SqlDbType.Char,18);parameterShenfenNO.Value=shenfenNO;myCommand.Parameters.Add(parameterShenfenNO);/为myCommand添加返回值parameterYuangongIDSqlParameter parameterYuangongID= new SqlParameter("yuangongID",SqlDbType.Int,9);parameterYuangongID.Direction=ParameterDirection.Output;myCommand.Parameters.Add(parameterYuangongID);myConnection.Open(); /数据库访问myCommand.ExecuteNonQuery();myConnection.Close(); int yuangongid=(int)(parameterYuangongID.Value); /获取返回值return yuangongid; 验证有效的邮箱地址:<asp:RegularExpressionValidator id="RegularExpressionValidator1" style="Z-INDEX: 126; LEFT: 400px; POSITION: absolute; TOP: 224px" runat="server" Font-Size="X-Small" ErrorMessage="输入有效E-mail" ControlToValidate="EmailT" EnableViewState="False" ValidationExpression="w.-+(+w-*)?(w-+.)+w-+"></asp:RegularExpressionValidator>4.3关键技术之三使用正则表达式来测试合法性,以确保合法的用户输入。1.正则表达式中的常用的符号及其含义: :用来定义可接收的字符 :定义必须输入的字符数* :0或多哥字符n :正好n个字符n,:至少n个字符n,m:至少n个字符,但不多于m个字符2.正则表达式举例说明:. :匹配除n之外的任何字符指定字符集 : 匹配指定字符集中包含的任何单个字符指定字符集 : 不在指定字符集中的任何单个字符0-9 : 使用“-”允许指定连续字符范围。0-9该表达式表示0到9数字中的一个数字。例:a-zA-Z5,9: 表示5-9个英文字母0-93 : 表示至少3个数字A-Za-z0-98,:表示至少8个字母数字2,3,:表示前至少有2个字符,后至少有3个字符0,成都0,:表示必须包含“成都”两个字3.正则表达式控件的使用:.net中包含专门的正则表达式验证控件:RegularExpressionValidator,它在工具箱中可以找到。使用该控件时,应注意修改下面三个属性:ErrorMessage :设置你想要的提示信息ControlToValidate:设置需要验证的控件,如TextBox.ValidationExpress:填写用户自定义的正则表达式验证用户输入的日期格式的正则表达式:日期格式为 :2006-05-04该日期对应的正则表达式为:200-92-0-91-0-924.使用正则表达式的好处: .net编程门槛很低,新手很容易上路。而在安全性方面,新手最容易忽略的问题就是SQL注入攻击的问题。由于SQL 语句存在自身的缺陷。因此,防范SQL注入攻击的一种有效的方法就是利用正则表达式对用户的输入进行验证。第五章 数据库结构51 数据库设计 在分析了系统需求以及系统架构之后,现在开始分析系统的数据库整体设计,由于在需求分析中,已经很明确使用Microsoft SQL Server作为系统的数据库,因此基于关系型的数据库的设计模式就是必需的,下图就是系统中数据库的设计图。1.表名: login 用户表列号主键列名数据类型数据长度字段说明1YesloginIDnumeric9编号2NoyuangongZHchar10员工职号3Nousernamechar30用户名4Nopasswordchar10密码5Noquestionchar30问题6Noanswerchar10答案7Notypeint4用户类型2表名:HRSA110 员工就职维护表列号主键列名数据类型数据长度字段说明1YesyuangongIDnumeric9员工ID2NoyuangongZHchar10员工职号3Noxuexingchar2血型4Nosexchar2性别5Nohunfouchar4婚否6NoshenfenNOchar18身份证号7Nojiguanchar10籍贯8Nobirthdaydatetime8出生日期9Nobiyedatedatetime8毕业年月10Nokexichar20科系11Noschoolchar40毕业学校12Noxuelichar10学历13Notelephonechar12电话14NotongxunAddrchar40通讯地址15Noweihurenchar30维护人16Noweihudatedatetime8维护日期3表名: HRSA111员工就职单维护表列号主键列名数据类型数据长度字段说明1YesjiuzhiIDnumeric9就职ID2NojiuzhiDHVarchar50就职代号3NoyuangongXMchar30员工姓名4NoyuangongZHchar10员工职号5NozhiweiMCchar10职位名称6NobumenMCchar10部门名称7Nojiuzhidatedatetime8就职日期8NojiuzhiLBchar4就职类别9Noweihurenchar30维护人10Noweihudatedatetime8维护日期4表名:HRSA112薪资资料表列号主键列名数据类型数据长度字段说明1YesxinziIDnumeric9薪资ID2Noy