asp.net就业管理系统(论文).doc_第1页
asp.net就业管理系统(论文).doc_第2页
asp.net就业管理系统(论文).doc_第3页
asp.net就业管理系统(论文).doc_第4页
asp.net就业管理系统(论文).doc_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

河南大学2007届本科毕业论文软通动力学员就业管理系统的开发the development of iss staff employment management system论文作者姓名:王涛 所在学院:计算机与信息工程学院 所学专业:计算机科学与技术 导师姓名职称:程云志(讲师) 论文完成时间:2007年5月20日 2007年5月20日河南大学2007届毕业论文(设计、创作)开题报告(由学生本人认真填写)学号03023216姓名王涛导师姓名职称程云志(讲师)开题时间2006年12月1日课题题目软通动力学员就业管理系统的开发课题来源导师指定 自定 其他来源课题的目的、意义以及和本课题有关的国内外现状分析:1、目的:为了便于就业部员工更好的管理学员就业信息和发布面试通知等信息,同时学员也能更及时地了解到最新的就业信息和面试成绩,因此需开发出一个能提供给员工和学员使用的系统来管理和查看就业信息。2、意义:可以提高就业部员工的工作效率,减少工作负担,为公司节省了人力资源,提高培训学员的就业率。3、现状:目前对信息的统计管理大多还依靠员工的手写统计和简单表格数据的处理,消息通知还依靠员工口头通知。研究目标、研究内容和准备解决的问题:1、目标:提供给管理人员一个对就业信息、招聘信息、招聘公司信息的管理平台,而学员在此可以了解到历届学员就业信息和最新的招聘信息、面试通知和面试成绩等。2、内容:需研究员工的工作流程,在工作流程中交互的基本信息都是什么及信息的组织方式,以及员工期望对现有功能的额外扩充。同时需了解学员希望在此了解到的信息。3、准备解决的问题:各种就业相关信息在数据库的组织方式及关联性,把员工的工作流程转换成系统功能逻辑,如何提高系统的安全性,使系统安全、易于使用。拟采取的方法、技术或设计(开发)工具:采取visual studio 2005开发工具和sql server 2005数据库相结合利用c#开发的基于b/s模式的系统预期成果:1、毕业设计成果软通动力学员就业管理系统软件2、毕业论文软通动力学员就业管理系统的开发进度计划:2006.12.1 - 2007.2.1:查找资料、搜集相关素材2007.2.2 - 2007.3.11:完成数据库和数据库基类部分的设计2007.3.12 - 2007.3.21:完成自定义控件、母版页、招聘信息和公司信息模块部分的设计2007.3.22 - 2007.4.30:完成就业信息、面试公告和面试记录模块部分的设计2007.5.1 - 2007.5.20:整理资料、撰写毕业论文2007.5.20 - 2007.5.25:根据导师要求,完善毕业设计和论文指导教师对选题报告的意见: 同意开题 指导教师签名: 2006年12月1日开题报告ii河南大学2007届毕业论文(设计、创作)任务书(由学生本人认真填写)学号03023216姓名王涛导师姓名程云志任务书起止日期2006年12月8日 至 2007年5月20日论文提要:本论文以实战项目开发为主线,主要介绍了:系统实现的全过程(包括项目开发的需求分析、概要设计、详细设计、编码实现等重要环节)2、相关数据库理论应用的介绍3、项目设计的主要技术实现及理论背景的介绍,主要项目功能及相关实现的介绍等等。课题任务要求:1、了解整个工作流程中设计到的信息传递和存储。2、熟悉visual studio 2005开发平台、sql 2005的使用及c#语言的应用。3、熟悉并划分出系统的功能模块,规划好系统的整体开发进程。4、实现:学员就业信息、公司招聘信息、招聘公司资料、招聘公告、面试公告、面试记录等信息的管理,同时实现各种针对学员的有效信息的发布与修改。主要参考文献:1 马骏、何欣等编著,c#网络编程及应用,机械工业出版社,2005年7月2刘杨编著,突破c#编程实例五十讲,中国水利水电出版社,2002年9月3刘瑞新著,c#网络编程及应用开发实例与习题解答,机械工业出版社,2004年6月4 karli watson著,c#2005数据库编程经典教程,人民邮电出版社,2007年4月5 donis marshall,visual c#2005技术内幕,清华大学出版社,2007年1月河南大学2007届毕业设计(论文、创作)中期检查表学院名称:计算机与信息工程学院题目名称软通动力学员就业管理系统的开发学号03023216所学专业计算机科学与技术指导教师姓 名程云志姓名王涛一、毕业设计进展情况1、已经完成需求分析、概要设计、详细设计等前期工作;2、完成了相关知识的了解与学习,相关资料搜集,相关开发平台、开发语言的学习;3、进入编码实现阶段,初步完成了数据库基类和数据库层的设计,并且业务层中招聘信息管理和招聘公司信息管理模块的已完成。二、存在问题数据库基类的方法还不能完全满足满足业务层对数据库的各种筛选,由于需求分析的不彻底,未能完全分析出所有的数据请求,所以写的方法还不够完整,不能完全体现出数据层的功能,另外业务逻辑层中的部分代码还未完成。三、下一阶段的研究方法或设计思路设计出合理、简化的系统整体界面,因此要合理利用母版页和自定义控件,减少页面设计代码量,页面设计中计划主要分三个部分,每个部分由所设计出的各种自定义控件和其他控件组成,并将其与业务逻辑层及数据库层连接在一起,完成系统所需功能。在时间允许的情况下进行相关功能扩展。四、指导教师对学生设计(论文、创作)进展等方面的评语 程序设计进展适中,系统的需求分析、数据库的设计、部分功能模块雏形等基本完成。论文已经着手书写。整体上的进度符合中期检查的要求。 指导教师签字: 2007年4 月 10日此表除第四项外由学生填写指导教师签名河南大学2007届毕业论文(设计、创作)综合成绩表(一)学院名称:计算机与信息工程学院学 号03023216姓名王涛专业计算机科学与技术指导教师程云志(讲师)综合得分86论文题目软通动力学员就业管理系统的开发指导教师评语及得分指导教师评语该论文语句通顺,条理清晰,格式符合要求,论文的论点较为突出,论证较为合理。该就业管理系统功能强大,安全性高,符合本科生论文要求。评分项目分值指导教师对毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分1291074886指导教师签名 2007年5月20日评阅教师评语及评分评阅教师评语该论文语句通顺,条理清晰,格式符合要求,论文的论点较为突出,论证较为合理。就业管理系统能够为公司提供强大的管理服务,符合本科生论文要求。评分项目分值评阅毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分1281074885评阅教师签名 2007年5月20日此表由教师填写河南大学2007届毕业论文(设计、创作)综合成绩表(二)学号03023216姓名王涛所在学院计算机与信息工程学院答辩委员会评语及评分答辩委员会评语该生答辩时,对于就业管理系统的开发、设计以及具体的实现都能详细说明。对于所提问题,反映敏捷,基础知识扎实,描述清楚。答辩委员签字: 2007年5月26日评分 项目 分值论文答辩小组评分答辩情况论文质量合计(100)内容表达情况(15)答辩问题情况(25)规范要求与文字表达(20)论文(设计、创作)质量和创新意识(40)得分1222183386答辩委员会主任签字: 2007年5月26日毕业论文(设计、创作)成绩综合评定: 86分综合评定等级: 良备注:一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力及在论文中是否有新的见解或创新性成果等做出评价。从论文来看学生掌握本专业基础理论和基本技能的程度。二、成绩评定采用结构评分法,即由指导教师、评阅教师和答辩委员会分别给分(以百分计),评阅教师得分乘以20%加上指导教师得分乘以20%加上答辩委员会得分乘以60%即综合成绩。评估等级按优、良、中、差划分,优90-100分;良76-89分;中60-75分;差60分以下。三、评分由专业教研室或院组织专门评分小组(不少于5人),根据指导教师和答辩委员会意见决定每个学生的分数,在有争议时,应由答辩委员会进行表决。四、毕业论文答辩工作结束后,各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的1.5%篇。五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容。须报教务处备案。六、书写格式要求:1、目录;2、内容提要须书写200左右汉字,开题报告(文科除外)的内容要根据不同专业的课题任务要求,阐述查阅文献、文案论证、解题思路、工作步骤等;3、正文(含引言、结论等);4、参考文献(或资料)河南大学本科生毕业论文(设计、创作)承诺书论文题目软通动力学员就业管理系统的开发姓 名王涛所学专业计算机科学与技术学 号03023216完成时间2007年5 月20日指导教师姓名职称程云志(讲师)承诺内容:1、本毕业论文(设计、创作)是学生 王涛 在导师 程云志 的指导下独立完成的,没有抄袭、剽窃他人成果,没有请人代做,若在毕业论文(设计、创作)的各种检查、评比中被发现有以上行为,愿按学校有关规定接受处理,并承担相应的法律责任。2、学校有权保留并向上级有关部门送交本毕业论文(设计、创作)的复印件和磁盘。备注:学生签名: 指导教师签名: 2007年5月20日 2007年5月20日说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确,承诺内容第2条即以备注为准。目 录摘 要iabstractii第1章 绪论11.1 开发背景及意义11.2 开发软件简介1第2章 系统开发技术基础22.1 ado.net数据访问22.1.1 数据访问方法22.1.2 存储过程32.2 自定义控件32.3 三层架构5第3章 系统分析与概要设计63.1 软通动力学员就业管理系统数据库设计63.2 系统分析与功能设计73.2.1 用户登录73.2.2 就业信息管理7第4章 就业管理系统的实现94.1 就业管理系统中的数据访问94.1.1 basedataaccess类94.1.2 dataaccess类104.1.3 entities层114.1.4 sqlhelper类114.2 详细设计124.2.1 创建面试记录124.2.2 面试记录的编辑更新144.2.3 删除面试记录的实现154.2.4 系统搜索功能模块15结 论17参考文献18河南大学本科毕业生学士学位论文摘 要软通动力学员就业管理系统主要实现了学员就业信息的管理、招聘信息和面试成绩的发布、招聘公司信息的管理及信息统计。论文首先介绍了软通动力学员就业管理系统开发的背景及目的,其次对开发必须的软件进行了简单的介绍,系统的开发技术基础介绍也是必不可少的,在其中介绍了数据访问、自定义控件、系统开发模式等技术特色。论文接着对系统开发的数据库设计和概要设计进行了阐述,其后论文就系统中的数据访问关键类及核心方法进行了详细介绍,最后介绍了系统部分功能模块的核心算法和实现。关键词:三层架构,自定义控件,数据访问,信息管理abstractlink iss staff employment management system placement of trainees main employment information management, recruitment information and interview results released recruitment company information management and information statistics. the paper firstly introduces the background of iss staff employment management system and purpose, secondly, the development of the necessary software is simply introduced, the system based on the development of technology is essential. in presenting the data access, usercontrols and systems development mode technology characteristics. papers proceeded to the development of database systems design and outline design of the exposition, later papers on the system data access class and visit key core methods are described in detail, finally, papers introduces the system of functional modules of the core algorithm and implementation.keywords:three-tier structure, user controls,data access ,information management第 17 页第1章 绪论随着近年来软通动力公司培训业务的发展,所培训的学员日益增多,而对学员信息的管理工作还采用人工管理的方式,导致了信息管理工作无法适应公司发展。系统正是在此背景下提出了,系统以visual studio 2005为开发工具,借助sql server 2005这一强大的数据库管理系统来实现对学员信息的现代化管理。1.1 开发背景及意义软通动力技术培训有限公司是软通动力创建的培养国际化软件人才的it实战培训基地。软通动力软件实训工程开始于2002年,目前已在北京、武汉、无锡等地建立了大型实战教学基地,年增长率300%。因此对学员信息的管理统计成为一个必不可少的工作。本系统使用方便、可靠性高、成本低。使用该系统可以提高公司就业部工作人员的工作效率,同时提供给学员一个更方便的就业信息途径。1.2 开发软件简介visual studio 2005是microsoft为实现.net技术而开发的一套工具组件,具有全新的独一无二的集成开发环境及编程语言c#。c#是从c和c+演变而来的一种简单的、面向对象的和类型安全的新型程序设计语言。c#几乎综合了目前所有高级语言的优点,主要特点是语法简洁,精心设计的面向对象设计,与web的紧密结合,完全的安全性和错误处理,易于使用的版本处理技术,很好的灵活性和兼容性。因此c#是一种不错的软件开发语言。第2章 系统开发技术基础系统在开发过程中运用了三层架构开发模式,同时结合了大量自定义控件的使用,这些技术的运用降低了系统的代码量的冗余,同时ado.net数据访问技术的运用使得数据访问更安全和数据管理方式多元化。2.1 ado.net数据访问microsoft最早提出的开放数据互联的技术现在已经成为计算机业界的标准数据库接口,继而又提出了ado(activex data objects)的设想。统一数据访问技术是一个开放的技术体系,不同的开发工具,不同的高级程序设计语言都可以采用统一数据访问技术来开发应用项目。ado.net是在ado的基础之上发展起来的,它提供一个适用于创建分布式的、共享的数据库应用程序标准编程接口。microsoft最新推出的sql server 2005在吸收sql server 2000优点的同时又增加了很多新的功能。本系统采用的数据库系统是sql server 2005数据库管理系统。2.1.1 数据访问方法要建立和数据提供者之间的连接,可以通过sqlconnection对象来实现。整个数据访问过程如下:1. 创建连接数据源字符串系统与sql server 2005的数据库连接字符串代码如下:string connstr=”server=;database=northwind;uid=sa;pwd=sa;”;2. 使用sqlconnection对象打开连接sqlconnection myconn=new sqlconnection(connstr);myconn.open();3. 使用sqlcommand对象执行sql命令string sqlstr=”select * from mng_user”;sqlcommand mycommand=new sqlcommand(sqlstr,myconn);4. 使用sqldatareader来获取数据sqldatareader sdr=mycommand.executereader();或使用sqldataadapter对象来完成数据存取sqldataadapter adadapter = new sqldataadapter();adadapter.selectcommand = new sqlcommand(sqlstr, myconn);datatable tempdatatable = new datatable();adadapter.fill(tempdatatable);5. 关闭连接myconn.close();2.1.2 存储过程存储过程实际上就是一系列sql语句的集合,是数据库对象之一。使用存储过程的优点如下:(1) 存储过程在服务器端运行,执行速度快,因为服务器不必每次执行时都分析和编译它。(2) 确保数据库安全。使用存储过程可以完成所有的数据库操作,并可通过编程方式控制上述操作对数据库信息访问的权限。(3) 调用存储过程可以认为是一个三层架构,这使程序易于维护,如果程序需要做一些改动,只需改动存储过程即可。在就业管理系统中用到了带参数的存储过程来实现用户对数据的过滤组合查询。创建存储过程语法格式如下:creat proc parameter1 data_type=默认值parametern data_type=默认值asselect * from table_name where clomn1=parameter andand clomn2=paremetern2.2 自定义控件用户控件能够很容易地跨web应用程序和公共ui层(user interface)应用。与web窗体页相同,并可以使用任何文本编辑器创作这些控件,或者使用代码隐藏类开发这些控件。此外,与web窗体页一样,用户控件可以在第一次请求时被编译并存储在服务器内存中,从而缩短以后请求的响应时间。但与web窗体页不同的是,不能独立地请求用户控件,用户控件必须包括在web窗体页内才能使用。与ssi(服务器端包含文件)相比,用户控件通过访问由asp.net提供的对象模型支持,具有更大的灵活性。可以在控件中声明的任何属性进行编程,而不只是包含其他文件提供的功能,这与其他任何asp.net服务器控件一样。尽管在创作用户控件时需要选择一种语言,但可以将多个用户控件包含在用多种语言创作的一个web窗体页中。在学员管理系统中就用到了很多这样的控件,在项目开发过程中这些具备特殊功能的控件不但可以减少部份代码的重写,而且提高了项目开发效率并且更方便简单。如下边的一个用户文本框代码如下:/自定义textbox,其中包含多个自定义控件,以方便的实现对各种验证的封装public class custtextbox:compositecontrolprivate textbox=new textbox();private requiredfieldvalidator require=new requiredfieldvalidator();/定义属性来控制是否对控件进行验证private bool _enablerequiredfieldvalidator = false;category(requiredfieldvalidator),browsable(true),description(requiredfieldvalidator enable),defaultvalue(false)public bool enablerequiredfieldvalidatorgetreturn this._enablerequiredfieldvalidator;set this._enablerequiredfieldvalidator = value; /重写事件来决定是否启用验证控件和控制验证控件的输出protected override void createchildcontrols()if (!childcontrolscreated) if (this._enablerequiredfieldvalidator)this.require.id = require1;this.require.controltovalidate = this.box.id;this.require.errormessage = 请填写 + this._requirevalidatorerrmsg + ;this.require.enabled=this._enablerequiredfieldvalidor;this.require.display = validatordisplay.none;this.controls.add(require);2.3 三层架构三层架构是目前软件开发所用到的最普遍的开发模式,它分为ui层、业务逻辑层和数据库层。三层架构的应用使得程序增强了可维护性,增加了系统的清晰度,便于扩充,实现了对功能的开放和对修改的封闭。它使得企业可以专注于他们的专门领域,有利于发挥所有人的优势并提高开发效率,同时降低了企业的开发成本。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层进行处理。通常情况下,客户端不直接与数据库进行交互,而是通过com/dcom通讯与中间层建立连接,再经由中间层与数据库进行交互。第3章 系统分析与概要设计系统设计的成功与否与系统数据库设计的合理有着直接的关系,对数据库设计一定要能够将系统基本信息组织起来。系统是在b/s模式下开发的,同时需要对用户权限设置,系统主要是为就业信息管理开发的,因此用户登录和就业信息管理是两个重要的功能模块。3.1 软通动力学员就业管理系统数据库设计该就业管理系统主要用到以下几个数据库表模型:employeementrecord为就业信息表,employfaceexamrecord为面试信息表,employeementcompany为公司信息表,employmentinfo为招聘信息表,employmentnotice为面试公告信息表。它们的关系如图3-1所示。图3-1 数据库中表关系图3.2 系统分析与功能设计在学员就业管理系统中,就业部和学员登录后可以分别有不同的权限操作。就业部员工可以添加有意向招聘学员的公司信息和面试公告,并在招聘公司资料改变时及时更新公司信息,同时提供了公布面试记录的功能,以帮助学员得到最新的招聘信息和面试成绩,同时可以更新各种学员就业数据。学员在此系统中可以查询到最新的招聘信息、面试成绩以及学员就业信息的统计,更好帮助学员分析出当前就业形势,从而帮助学员改善就业状况。3.2.1 用户登录系统分为两种用户:学员和员工。首先用户登录系统后,系统根据不同的用户类型确定页面显示方式。就业部员工和管理员可以更新和删除各种就业相关信息,而学生只能查看信息资料,不能对其进行修改。在数据库的学员表和员工表中都有自己的用户名和密码字段。首先用户在登录时选择是员工登录还是学员登录,这样系统会在不同的数据库表中查找匹配项,实现用户验证功能。由于系统是在b/s模式下开发的,因而安全性问题必不可少。本系统采用md5算法实现密码的加密操作,系统在读取客户端数据时先对数据进行加密,然后和数据库中已经加密的记录匹配,保证数据安全。3.2.2 就业信息管理就业部员工登录系统后可以在不同模块查看相关的不同信息,由于不同模块间业务形式虽然不同,但是在具体数据操作上还是有很多共同之处。例如对招聘信息的更新操作,此页面中的数据都根据查询字符串传进的id来对页面中的数据进行绑定,此页面与新增操作页面是相同的,通过查询字符串是否传入参数来判断此时是新增招聘信息业务还是更新招聘信息业务,公司选择公司名称(放大镜),并选择招聘方向,填写相关的如招聘人数、截至日期等信息。为了帮助用户更快找到操作对象,在每个模块的主页面中均列出了依据关键信息搜索,这些搜索条件多是由textbox和绑定好的dropdownlist实现的,同时可查看到每条记录的详细信息,其中对学员就业信息模块中的操作必须为已毕业学员,因此在添加学员就业信息记录时必须对提取的数据进行限制。第4章 就业管理系统的实现数据访问的实现是系统设计中很重要的一部分,它直接关系到整个系统能否成功实现用户对信息管理的需求。在本章中详细介绍了就业管理系统中的数据访问,同时介绍了本系统的部分功能实现。4.1 就业管理系统中的数据访问在软通学员反馈管理系统中有专门的数据访问层dataaccess。此层中的类都是继承基类basedataaccess,通过调用此类的方法,得到数据集dataset。本系统用的是自定义dataset,每个表返回一个不同的dataset,这种自定义数据集可以准确的记录数据表的数据行、字段等信息。由于系统采用的是三层架构开发模式,对数据的处理转移到数据库层及及其底层数据访问类,因为在查询中需要构造查询条件,因此需要提出了sqlhelper类来满足此需求,数据层中需要数据取出、更新等操作,因此提出了basedataaccess类供数据库层进行系统与数据库访问使用。4.1.1 basedataaccess类此类为数据库访问基类,为以后所有数据库操作提供基础,包括事务处理和获取数据库连接。它为dataaccess(即数据库访问层)提供了很多方法基础:(1)connect()打开数据库连接,disconnect()关闭数据库连接。(2)begintransaction()开始事务,并返回一个事务对象。commit()提交数据库事务,rollback()事务执行失败,回滚。(3)filldata(sqldataadapter sda, dataset ds, commandtype cmdtype, string strquerystring)根据查询条件查询数据并添加到数据集(7个重载),sda为查询数据集适配器,ds为数据集,cmdtype为执行命令类型,可能是存储过程或者string类型的sql查询语句,strquerystring为存储过程名或者string类型的sql查询语句。(4)为updatedata(sqldataadapter sda, datatable dt)更新传入的数据集中的数据(2个重载)。sda为查询数据集适配器,dt为要更新数据的数据表。(5)getdatacount(string strquerystring)查询记录行数getscalar(string strquerystring)返回查询的第一行第一个列executenonquery(string sqlstr)执行一条sql语句executestoreprocedure(datatable dt, string spname, hashtable ht)调用spname存储过程查询。(6)executestoreprocedure(string spname, hashtable ht)调用spname非查询的spname存储过程。(7)executestoreprocedurescalar(string spname, hashtable ht) 调用只返回一个值的spname存储过程。(8)executestoreprocedure(string returnvaluename, string spname, hashtable ht) 带返回值参数的调用非查询的spname存储过程。4.1.2 dataaccess类数据库访问层都继承基类basedataaccess,每个表都有自己的数据库访问层。在软通学员反馈系统中,主要应用到以下几个数据库访问类:dafeedbackstandard.cs、dafeedbackstandarditem.cs、dastudentfeedback.cs、dastudentfeedbackdtl.cs和dastudentfeedbacktype.cs。当需要对这些表进行访问操作时,这些类自动生成sqlcommand命令,并为sqldataadapter生成各种command命令。同时,这些类为外部访问提供了很多方法:(1)getonebyid(int id)根据标识列查询。(2)update(dsfeedbackstandard ds)添加、更新、删除。(3)gettop(int top, string viewname, string filter)查询和表feedbackstandard相关的指定视图前多少行数据。(4)getsome(string viewname, string filter)查询和表feedbackstandard相关的指定视图的数据。(5)getdataset(string viewname, string filter)返回dataset。(6)select(string viewname, string filter, int pagesize, int pageindex, ref int rowscount)分页查询和表feedbackstandard相关的指定视图的数据。4.1.3 entities层数据实体层都继承自dataset类,它为一种自定义数据集合。对于不同的表产生不同的数据集,在软通学员反馈系统中,主要用到以下几个数据集:dsemployementrecord、dsemployfaceexamrecord、dsemploymentcompany、dsemploymentinfo和dsemploymentnotice。在这些数据集中包含了表集合、行集合、事件集合等。例如,在数据集dsemployementrecord中employementrecorddatatable为表集合(继承自datatable),employementrecordrow为行集合(继承自datarow),employementrecordrowchangeevent为事件集合(继承自eventargs)。4.1.4 sqlhelper类这个类是用来构造sql语句的工具类。为了避免在ui层、br层都反复使用sql语句,造成数据库访问混乱,提高程序的可维护性和可扩展性,系统专门用到sql构造工具类。此类几乎包含了所有需要用到的sql语句构造方法:(1)addcondition(string _tablename, string _fieldname, operator _operator, datatype _datatype, string _value, string _controlid) 添加查询条件,基础方法(7个重载)。_tablename为表名或别名,可为空串(如果字段名唯一,不需要加表名或别名标识),_fieldname为字段名,_operator为运算符号,_datatype为数据类型,_value为比较值,_controlid为对应的控件id。(2)addordercondition(string _tablename, string _fieldname, bool _isdesc, string _fieldcontrolid, string _ordercontrolid) 添加排序条件,基础方法(3个重载)。_tablename为表名或别名,可为空串(如果字段名唯一,不需要加表名或别名标识),_fieldname为字段名,_isdesc为排序方式:是否倒序,_fieldcontrolid为字段名对应的控件id,_ordercontrolid为排序方式对应的控件id。(3)getfiltercondition()返回查询的条件语句,包含排序,例:and order by 或空串。4.2 详细设计软通动力学员就业管理系统是软通动力学员管理系统中的一部分。在就业管理系统中主要包括招聘信息、招聘公司信息、面试公告、面试记录、学员就业信息五部分。系统主界面如图4-1所示。图4-1 系统主界面下面将分别介绍就业管理模块的各个子模块。因为此模块各子模块功能实现在业务逻辑上较为相近,故详细介绍面试记录子模块功能的实现。4.2.1 创建面试记录在此功能模块中要录入面试公司、面试学员、面试地点、面试时间等信息,其中面试公司和面试学员的录入是以模态窗口传值的方式进行,而为了更方便用户寻找所需信息,提供了搜索功能,它们的具体界面如图4-2、4-3所示。图4-2 增加面试记录页面图4.3 模态窗口首先通过querystringid是否为空判断所执行任务时增加还是编辑,确定页面控件的展现方式。然后用户可以在这里填写面试记录信息,填写完毕后提交时,将据此生成一条信息记录,并将对应信息存放到记录的各个字段中,然后更新数据集,其中bremployfaceexamrecord是面试记录对应的业务层类,dsemployfaceexamrecord是其对应的实体层类获得一条空记录。实现新增面试记录的主要代码如下:dsemployfaceexamrecord.employfaceexamrecorddatatable newtable = ds.employfaceexamrecord;dsemployfaceexamrecord.employfaceexamrecordrow newrow=(dsemployfaceexamrecord.employfaceexamrecordrow)=newtable.newrow()给新记录各字段赋值主要代码如下:if (this.hiddenfield1.value != null & this.hiddenfield1.value != )newrow.companyid = int.parse(this.hiddenfield1.value); newrow.userid = loginhandler.currentuser.recid;newrow.createdate = datetime.now;更新数据集主要代码如下。newtable.addemployfaceexamrecordrow(newrow);bs.update(ds);4.2.2 面试记录的编辑更新首先当页面加载时根据request.querystringid不为空,调用getmessage()来将页面中的控件绑定到对应记录的数据,在更新后相应字段获取到最新更新的内容,更新数据集即可。主要代码如下:protected void getmessage()int id = int.parse(request.querystringid);bremployfaceexamrecord bs = new bremployfaceexamrecord();dsemployfaceexamrecord ds = bs.getviewbyid(id);dsemployfaceexamrecord.employfaceexamrecordrow dr = (dsemployfaceexamrecord.employfaceexamrecordrow)ds.employfaceexamrecord.rows0;this.hiddenfield1.value = dr.companyid.tostring();this.hiddenfield2.value = dr.studentid.tostring();/显示记录this.lbl_recid.text = dr.recid.tostring(); /获得id对应的一条记录int id = int.parse(request.querystringid);dsemployfaceexamrecord ds = bs.getviewbyid(id); dsemployfaceexamrecord.employfaceexamrecordrow dr = (dsemployfaceexamrecord.employfaceexamrecordrow)ds.employfaceexamrecord.rows0;/修改原有记录dr.companyid = int.parse(this.hiddenfield1.value);/更新记录集bs.update(ds);4.2.3 删除面试记录的实现当通过custdatagrid的gridviewcommandeventargs的commandname为del时,可判断用户执行删除操作,此时可通过另一个参数commandargument来获取到要删除记录的主键,则可调用业务层的delonebyid(int id)方法来删除此条记录。主要代码如下:if (e.commandname = mydel)int key1 = int.parse(e.commandargument.tostring();bremployfaceexamrecord info = new bremployfaceexamrecord()

温馨提示

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

评论

0/150

提交评论