毕业生就业管理系统课程设计文档

合集下载

大学生就业管理系统详细设计说明书2

大学生就业管理系统详细设计说明书2

大学生就业管理系统详细设计说明书2 《大学生就业管理》详细设计说明书11 引言1.1 编写目的本详细设计说明书跟据《博客信息管理系统详细设计说明书》编写,描述了系统的详细设计,并为系统代码的编写提供依据。

本文档的预期读者为:项目经理、系统分析员、测试经理、项目组长、系统开发人员。

1.2 系统命名与版本《大学生就业管理系统java命名规范》大学生就业管理系统V1.01.3 定义1.4 参考资料《博客信息管理系统概要设计说明书》。

2 系统程序的结构3 设计说明3.1 数据库基本操作3.1.1 类DB.java的设计方法名称:ExportDB(DataSource ds)语义由DataSource数据源ds获取Connection连接对象conn 方法名称:ResultSet openSql(String sql)语义由Connection连接对象conn获取Statement对象stmt;由Statement对象stmt执行sql查询返回ResultSet查询结果方法名称:ResultSet execSql(String sql)语义由Connection连接对象conn获取Statement对象stmt;2由Statement对象stmt执行sql数据更新操作(包括新增、修改)返回ResultSet数据更新操作结果3.2 技能维护3.2.1 类HibernateDao.java的设计 /*** Copyright (c) 2005-2009 ** Licensed under the Apache License, Version 2.0 (the "License");** $Id: HibernateDao.java 441 2009-09-07 15:47:34Z calvinxiu $*/package com.zds.spring.dao.base;import java.io.Serializable;import java.util.ArrayList;import java.util.List;import java.util.Map;import ng.StringUtils; importorg.hibernate.Criteria;import org.hibernate.Query;import org.hibernate.SessionFactory; importorg.hibernate.criterion.CriteriaSpecification;import org.hibernate.criterion.Criterion; importorg.hibernate.criterion.Disjunction; importorg.hibernate.criterion.MatchMode; import org.hibernate.criterion.Order; import org.hibernate.criterion.Projection; importorg.hibernate.criterion.Projections; importorg.hibernate.criterion.Restrictions; importorg.hibernate.impl.CriteriaImpl;3import org.hibernate.transform.ResultTransformer; importorg.springframework.util.Assert; importorg.springside.modules.orm.PropertyFilter; importorg.springside.modules.orm.PropertyFilter.MatchType;import org.springside.modules.utils.ReflectionUtils;import mon.page.Page; //importmon.page.PropertyFilter;//import mon.page.PropertyFilter.MatchType;/*** 封装SpringSide扩展功能的Hibernat DAO泛型基类.** 扩展功能包括分页查询,按属性过滤条件列表查询.* 可在Service层直接使用,也可以扩展泛型DAO子类使用,见两个构造函数的注释.** @param <T> DAO操作的对象类型* @param <PK> 主键类型** @author calvin*/public class HibernateDao<T, PK extends Serializable> extends SimpleHibernateDao<T, PK> {/*** 用于Dao层子类使用的构造函数.* 通过子类的泛型定义取得对象类型Class.* eg.* public class UserDao extends HibernateDao<User, Long>{* }4*/public HibernateDao() {super();}/*** 用于省略Dao层, Service层直接使用通用HibernateDao的构造函数.* 在构造函数中定义对象类型Class.* eg.* HibernateDao<User, Long> userDao = new HibernateDao<User,Long>(sessionFactory, User.class);*/public HibernateDao(final SessionFactory sessionFactory, final Class<T> entityClass) {super(sessionFactory, entityClass);}// 分页查询函数 ///*** 分页获取全部对象.*/public Page<T> getAll(final Page<T> page) {return findPage(page);}/*** 按HQL分页查询.5** @param page 分页参数.不支持其中的orderBy参数.* @param hql hql语句.* @param values 数量可变的查询参数,按顺序绑定.** @return 分页查询结果, 附带结果列表及所有查询时的参数.*/@SuppressWarnings("unchecked")public Page<T> findPage(final Page<T> page, final String hql, final Object... values) {Assert.notNull(page, "page不能为空");Query q = createQuery(hql, values);if (page.isAutoCount()) {long totalCount = countHqlResult(hql, values);page.setTotalCount(totalCount);}setPageParameter(q, page);List result = q.list();page.setResult(result);return page;}/*** 按HQL分页查询.** @param page 分页参数.* @param hql hql语句.6* @param values 命名参数,按名称绑定.** @return 分页查询结果, 附带结果列表及所有查询时的参数.*/@SuppressWarnings("unchecked")public Page<T> findPage(final Page<T> page, final String hql, final Map<String, Object> values) {Assert.notNull(page, "page不能为空");Query q = createQuery(hql, values);if (page.isAutoCount()) {long totalCount = countHqlResult(hql, values);page.setTotalCount(totalCount);}setPageParameter(q, page);List result = q.list();page.setResult(result);return page;}/*** 按Criteria分页查询.** @param page 分页参数.* @param criterions 数量可变的Criterion.** @return 分页查询结果.附带结果列表及所有查询时的参数.7*/@SuppressWarnings("unchecked")public Page<T> findPage(final Page<T> page, final Criterion... criterions) {Assert.notNull(page, "page不能为空");Criteria c = createCriteria(criterions);if (page.isAutoCount()) {int totalCount = countCriteriaResult(c);page.setTotalCount(totalCount);}setPageParameter(c, page);List result = c.list();page.setResult(result);return page;}/*** 设置分页参数到Query对象,辅助函数.*/protected Query setPageParameter(final Query q, final Page<T> page) {//hibernate的firstResult的序号从0开始q.setFirstResult(page.getFirst() - 1);q.setMaxResults(page.getPageSize());return q;}8/*** 设置分页参数到Criteria对象,辅助函数.*/protected Criteria setPageParameter(final Criteria c, final Page<T> page) {//hibernate的firstResult的序号从0开始c.setFirstResult(page.getFirst() - 1);c.setMaxResults(page.getPageSize());if (page.isOrderBySetted()) {String[] orderByArray =StringUtils.split(page.getOrderBy(), ',');String[] orderArray = StringUtils.split(page.getOrder(), ',');Assert.isTrue(orderByArray.length == orderArray.length, "分页多重排序参数中,排序字段与排序方向的个数不相等");for (int i = 0; i < orderByArray.length; i++) {if (Page.ASC.equals(orderArray[i])) {c.addOrder(Order.asc(orderByArray[i]));} else {c.addOrder(Order.desc(orderByArray[i]));}}}return c;}/*** 执行count查询获得本次Hql查询所能获得的对象总数.9** 本函数只能自动处理简单的hql语句,复杂的hql查询请另行编写count语句查询.*/protected long countHqlResult(final String hql, final Object... values) {Long count = 0L;String fromHql = hql;//select子句与order by子句会影响count查询,进行简单的排除.fromHql = "from " + StringUtils.substringAfter(fromHql, "from");fromHql = StringUtils.substringBefore(fromHql, "order by");String countHql = "select count(*) " + fromHql;try {count = findUnique(countHql, values);} catch (Exception e) {throw new RuntimeException("hql can't be auto count, hqlis:" + countHql, e);}return count;}/*** 执行count查询获得本次Hql查询所能获得的对象总数.** 本函数只能自动处理简单的hql语句,复杂的hql查询请另行编写count语句查询.*/protected long countHqlResult(final String hql, final Map<String, Object> values) {Long count = 0L;10String fromHql = hql;//select子句与order by子句会影响count查询,进行简单的排除.fromHql = "from " + StringUtils.substringAfter(fromHql, "from");fromHql = StringUtils.substringBefore(fromHql, "order by");String countHql = "select count(*) " + fromHql;try {count = findUnique(countHql, values);} catch (Exception e) {throw new RuntimeException("hql can't be auto count, hqlis:" + countHql, e);}return count;}/**count查询获得本次Criteria查询所能获得的对象总数. * 执行*/@SuppressWarnings("unchecked")protected int countCriteriaResult(final Criteria c) {CriteriaImpl impl = (CriteriaImpl) c;// 先把Projection、ResultTransformer、OrderBy取出来,清空三者后再执行Count操作Projection projection = impl.getProjection();ResultTransformer transformer = impl.getResultTransformer();List<CriteriaImpl.OrderEntry> orderEntries = null;try {orderEntries = (List) ReflectionUtils.getFieldValue(impl, "orderEntries");ReflectionUtils.setFieldValue(impl, "orderEntries", new ArrayList());11} catch (Exception e) {logger.error("不可能抛出的异常:{}", e.getMessage());}// 执行Count查询int totalCount = (Integer)c.setProjection(Projections.rowCount()).uniqueResult();// 将之前的Projection,ResultTransformer和OrderBy条件重新设回去c.setProjection(projection);if (projection == null) {c.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);}if (transformer != null) {c.setResultTransformer(transformer);}try {ReflectionUtils.setFieldValue(impl, "orderEntries", orderEntries);} catch (Exception e) {logger.error("不可能抛出的异常:{}", e.getMessage());}return totalCount;}// 属性过滤条件查询函数 ///*** 按属性查找对象列表,支持多种匹配方式.** @param matchType 匹配方式,目前支持的取值见PropertyFilter的MatcheType enum.*/public List<T> findBy(final String propertyName, final Object12value, final MatchType matchType) {Criterion criterion =buildPropertyFilterCriterion(propertyName, value, value.getClass(), matchType);return find(criterion);}/*** 按属性过滤条件列表查找对象列表.*/public List<T> find(List<PropertyFilter> filters) {Criterion[] criterions =buildPropertyFilterCriterions(filters);return find(criterions);}/*** 按属性过滤条件列表分页查找对象.*/public Page<T> findPage(final Page<T> page, finalList<PropertyFilter> filters) {Criterion[] criterions =buildPropertyFilterCriterions(filters);return findPage(page, criterions);}/*** 按属性条件列表创建Criterion数组,辅助函数.*/protected Criterion[] buildPropertyFilterCriterions(final List<PropertyFilter> filters) {List<Criterion> criterionList = new ArrayList<Criterion>();for (PropertyFilter filter : filters) {13if (!filter.isMultiProperty()) { //只有一个属性需要比较的情况.Criterion criterion =buildPropertyFilterCriterion(filter.getPropertyName(),filter.getPropertyValue(),filter.getPropertyType(),filter.getMatchType());criterionList.add(criterion);} else {//包含多个属性需要比较的情况,进行or处理.Disjunction disjunction = Restrictions.disjunction();for (String param : filter.getPropertyNames()) {Criterion criterion =buildPropertyFilterCriterion(param, filter.getPropertyValue(),filter.getPropertyType(), filter.getMatchType());disjunction.add(criterion);}criterionList.add(disjunction);}}Return criterionList.toArray(new Criterion[criterionList.size()]);}/*** 按属性条件参数创建Criterion,辅助函数.*/protected Criterion buildPropertyFilterCriterion(final String propertyName, final Object propertyValue,final Class<?> propertyType, final MatchType matchType) {Assert.hasText(propertyName, "propertyName不能为空");Criterion criterion = null;try {14//按entity property中的类型将字符串转化为实际类型.Object realValue =ReflectionUtils.convertValue(propertyValue, propertyType);//根据MatchType构造criterionif (MatchType.EQ.equals(matchType)) {criterion = Restrictions.eq(propertyName, realValue);}if (MatchType.LIKE.equals(matchType)) {criterion = Restrictions.like(propertyName, (String) realValue, MatchMode.ANYWHERE);}if (MatchType.LE.equals(matchType)) {criterion = Restrictions.le(propertyName, realValue);}if (MatchType.LT.equals(matchType)) {criterion = Restrictions.lt(propertyName, realValue);}if (MatchType.GE.equals(matchType)) {criterion = Restrictions.ge(propertyName, realValue);}if (MatchType.GT.equals(matchType)) {criterion = Restrictions.gt(propertyName, realValue);}} catch (Exception e) {throw ReflectionUtils.convertToUncheckedException(e);}return criterion;}/*** 判断对象的属性值在数据库内是否唯一.15** 在修改对象的情景下,如果属性新修改的值(value)等于属性原来的值(orgValue)则不作比较.*/public boolean isPropertyUnique(final String propertyName, final Object newValue, final Object oldValue) {if (newValue == null || newValue.equals(oldValue))return true;Object object = findUniqueBy(propertyName, newValue);return (object == null);}}3.2.2 类SimpleHibernateDao.java的设计类SkillAction用来根据用户的不同操作,调用不同的方法对数据库进行操作。

毕业生就业信息管理系统的设计

毕业生就业信息管理系统的设计

毕业生就业信息管理系统的设计1就业信息录入毕业生收到就业资料后登录,填写以上信息,毕业生录入数占有未录入字段时提示“录入不可功”,全部信息一定填写完好正确才能提交。

用户登岸后就业信息录入功能构造如图 2:1)管理员登岸子系统①数据导出模块:该模块的主要功能是导出毕业生就业信息。

经过对毕业生就业信息改正、确认,导出毕业生正确的就业信息。

②就业信息审查模块:审查毕业生就业信息能否正确,不正确打回让指导员从头审查。

③数据查问模块:可挑选查察某系、某专业的就业率、就业人数、未就业人数、未就业人数中待确认人数等毕业生就业状况信息。

依据毕业生就业状态,可以查问出毕业生的就业率、就业人数、未就业人数、未就业人数中待确认人数等毕业生就业状况。

2)毕业生登岸子系统该模块的主要功能是毕业生录入就业信息。

毕业生依据就业单位提供的就业信息录入就业信息。

3)指导员管理登岸子系统①毕业生管理模块:该模块的主要功能是让指导员可以确认、打回毕业生就业信息,统计各种毕业生就业信息数据。

②数据查问模块:该模块主要功能是指导员可挑选查察全系、全部专业的就业率、就业人数,未就业人数,未就业人数中待确认人数等毕业生就业信息。

4)系领导登岸子系统可挑选查察全系、系有专业的就业率、就业人数,未就业人数,未就业人数中待确认人数等毕业生就业信息。

2重点技术剖析系统开发主要有、 AJAX等技术。

1)技术:本系统使用 Connection 对象成立数据库的连结, Command对象实现对数据库的数据推行检索(S elect )、插入( In&#8259;sert )、删除( Delete )和更新(U pdate), DataReader 对象实现对数据库的数据读取显示在TextBox,DataAdapter 对象实现对数据储存更新。

2)AJAX技术:Ajax 同意客户端 Web页面经过异步伐用与服务器互换数据。

本系统使用 AJAX对 GridView 数据实现无闪耀局部刷新,这样页面就不需要从头刷新也能与服务器推行互换数据,同时也不会影响页面的其余部分。

高职院校毕业生就业信息综合管理系统设计与实现

高职院校毕业生就业信息综合管理系统设计与实现

高职院校毕业生就业信息综合管理系统设计与实现随着我国高职院校的不断发展,高职毕业生的就业问题也日益成为了社会关注的热点。

为了更好地管理和服务毕业生,学校需要建立一个毕业生就业信息综合管理系统。

系统设计和开发流程如下:一、需求分析1. 毕业生个人信息管理:包括姓名、学号、性别、民族、政治面貌、籍贯等基本信息,及联系方式、家庭住址等详细信息。

详细记录每位毕业生的毕业去向等信息。

2. 毕业生求职信息管理:包括就业意向、求职地点、期望工资、求职类型、工作经验等信息。

4. 就业招聘信息管理:包括招聘公司名称、招聘城市、招聘岗位、薪资、要求等信息。

二、系统设计1. 数据库设计:包括毕业生个人信息表、毕业生求职信息表、毕业生就业信息表、就业招聘信息表等。

2. 界面设计:采用简洁明了的界面,易于操作。

主要包括登录界面、主程序界面、毕业生信息界面、招聘信息界面、站内信界面等。

三、系统实现1. 环境要求:系统开发采用Java语言进行编程,使用MySQL数据库进行数据存储。

所采用的开发工具为Eclipse。

2. 功能实现:(1)用户登录功能:系统采用用户名和密码进行身份验证。

(2)个人信息录入功能:毕业生在通过验证后,可以按照要求填写所有基本信息、详细信息、求职信息等。

(3)求职信息查询功能:毕业生可以在系统中查询就业岗位的相关信息,包括公司名称、工作地点等。

(5)简历投递功能:毕业生可以通过系统直接将个人信息发送给招聘单位。

四、总结该系统的设计和实现可以有效地提高毕业生就业信息的管理和服务,同时,为招聘单位提供更加全面准确的毕业生信息。

这样的管理方式将有助于毕业生就业,更好地推动高职院校的发展。

数据库课程设计---大学生就业管理系统的数据库设计

数据库课程设计---大学生就业管理系统的数据库设计

课程设计评分细则序号评分内容分值得分1选题新颖、结构完整、原创性强,语言规范、排版美观、装订规范。

20%2需求分析工作深入详细,业务流程图、数据流程图、数据字典等需求文档完整,正确性高40%3概念结构设计合理,CDM的属性及其数据类型与数据字典一致,且正确性高20%4转换的PDM正确性高,相应的SQL教本正确,参考文献完整10%5提交了数据库文件,且电子文档与打印稿一致10%6迟到、早退、打游戏或做无关之事,发现一次扣10分;旷课一次扣30分负分最终成绩答辩教师签名《数据库原理及应用》课程设计报告题目:大学生就业管理系统的数据库设计学号:姓名:同组人员:指导教师:2011年12月目录摘要 (2)1.项目背景 (2)1.1问题定义和项目简介 (2)1.2选题背景 (2)1.3系统目标 (3)1.4可行性分析 (4)2.需求分析 (4)2.1系统性能需求分析 (4)2.1.1系统软件/硬件平台 (4)2.1.2运行环境 (4)2.2系统功能需求分析 (4)2.2.1系统功能的划分 (4)2.2.2系统功能描述 (5)该模块的主要功能是搜索和查看企业基本信息。

(5)2.4数据流程分析 (7)2.5数据字典 (10)3.系统设计 (12)3.1概念结构设计 (12)3.2逻辑结构设计 (13)3.3物理结构设计 (13)4.心得与收获 (16)5.结论 (17)6.参考文献 (17)7.小组组员分工情况说明 (17)摘要大学生就业问题关系到高等教育持续健康的发展,关系到国家的经济建设、社会的稳定和人民群众的根本利益。

随着我国高校毕业生就业制度改革的不断深化,双向选择、自主择业已成为主要的就业方式。

我国加入世贸组织后,就业信息的时效性等问题越来越突出地表现出来。

因此,为了使校园招聘成为大学生就业的主体市场,我们建立了基于WEB的“大学毕业生就业管理系统”。

为毕业生、用人单位与学校搭建了一个进行信息交换的平台,为毕业生就业工作的顺利开展开辟了一条快捷、高效的途径。

高校毕业生就业信息管理系统的设计与实现毕业论文

高校毕业生就业信息管理系统的设计与实现毕业论文
和学生用户拥有对新闻的查询操作;
5、企业用户管理:管理员用户拥有对企业的增、册k改、查操作;
6、岗位管理:管理员用户拥有对所有岗位的增、册k改、查操作,企业用户拥
有对发布的岗位增、册h改、查操作,学生用户拥有对申请的岗位增、册k改、查操
作;
7、文档管理:管理员用户拥有对文档的上传、下载和删除操作,教师、企业和
2)学生用户模块:简历管理求职管理,站内新闻查询,文档查询,公告查询,
留言管理、个人信息管理
3)企业用户模块:求职管理,站内新闻查询,文档查询,公告查询,留言管理,
个人信息管理
4)教师用户模块:毕业生用户管理,站内新闻查询,文档查询,公告查询,留
言管理,就业查询统计,违约查询
5)管理员模块:系别管理,专业管理,老师管理员管理,站内新闻管理,企业
块的层次结构及调用关系、确定模块间的接口及人机界面等。数据结构设计包括数据
特征的描述、确定数据的结构特性、以及数据库的设计。
3.1
通过需求分析,该系统后台包括用户管理、维护管理和权限管理等部分的设计,
并且实现毕业生信息管理、招聘单位信息管理、协议管理、违约管理、就业去向管理
等功能。
3.1.1系统功能要求
简单。
2.1
可行性研究(Feasibility Study),是指在调查的基础上,通过市场分析、技术分
析、财务分析和国民经济分析,对各种投资项目的技术可行性与经济合理性进行的综
合评价。可行性研究的基本任务,是对新建或改建项目的主要问题,从技术经济角度
进行全面的分析研究,并对其投产后的经济效果进行预测,在既定的范围内进行方案
的统计。所以,为了快速、有效、全面反映最新的用人单位信息和大学毕业生的基本

高职院校毕业生就业信息综合管理系统设计与实现

高职院校毕业生就业信息综合管理系统设计与实现

高职院校毕业生就业信息综合管理系统设计与实现一、前言随着高职院校毕业生数量的增加,如何更好地为毕业生提供就业服务成为了高校管理的一项重要任务。

为了更好地管理和统计毕业生的就业信息,提供更加全面的就业服务,本文设计一款高职院校毕业生就业信息综合管理系统,并且进行实现。

二、系统需求分析1. 系统功能模块:(1)学生信息管理:包括毕业生的个人信息、学习成绩、获奖情况等信息的录入、修改和查询。

(2)就业信息管理:包括招聘信息的发布、就业岗位的推荐、就业情况的统计分析等功能。

(3)就业指导服务:提供就业指导、职业规划等辅导服务。

(4)数据统计报表:生成毕业生就业情况统计报表,用于学校相关部门的数据分析和决策。

2. 系统功能设计:(1)学生信息管理功能:a. 学生信息录入:录入毕业生的个人信息、学习成绩、获奖情况等信息。

b. 学生信息修改:提供修改学生信息的功能,确保信息的实时性和准确性。

c. 学生信息查询:学校相关部门可根据需求进行学生信息的查询,以便于统计和分析。

(3)就业指导服务功能:a. 就业指导:提供就业指导、职业规划等服务,帮助毕业生更好地就业。

b. 就业辅导:针对毕业生的就业困难,提供就业辅导和帮助。

(4)数据统计报表功能:a. 就业情况统计报表:生成毕业生就业情况的统计报表,包括就业率、就业行业、薪资水平等信息。

三、系统设计1. 系统架构设计:采用B/S架构,即浏览器/服务器架构,用户通过浏览器访问系统,服务器负责处理用户请求并提供相应的服务。

2. 数据库设计:建立学生信息数据库和就业信息数据库,包括学生个人信息、学习成绩、获奖情况等字段,以及招聘信息、就业岗位信息等字段。

3. 界面设计:设计用户友好的操作界面,方便用户进行信息录入、修改和查询等操作。

四、系统实现1. 技术选型:选择使用Java作为后端开发语言、MySQL作为数据库、HTML/CSS/JavaScript作为前端开发语言。

(1)搭建开发环境:在本地搭建Java开发环境,安装并配置MySQL数据库。

高职院校毕业生就业信息综合管理系统设计与实现

高职院校毕业生就业信息综合管理系统设计与实现1.引言高职院校毕业生就业是一个重要的社会问题,学校需要对毕业生的就业情况进行全面的跟踪和管理。

为了更好地管理毕业生的就业信息,本文设计并实现了一个高职院校毕业生就业信息综合管理系统。

2.需求分析毕业生就业信息综合管理系统主要包括以下功能模块:(1)毕业生信息管理对毕业生的个人信息、学习成绩、实习情况等进行全面管理和记录。

(2)就业意向管理记录毕业生的就业意向、求职信息、求职状态等。

(3)就业信息发布提供毕业生就业信息发布平台,向学校内外发布招聘信息。

(4)就业跟踪管理对毕业生的就业情况进行跟踪和管理,实时掌握毕业生就业状况。

(5)统计分析对毕业生就业情况进行统计分析,为学校提供决策支持。

3.系统设计(1)系统架构设计本系统采用B/S架构,将系统分为客户端和服务器端两部分,客户端提供用户界面,服务器端提供数据存储和处理功能。

(2)系统功能设计根据需求分析,设计系统包括毕业生信息管理、就业意向管理、就业信息发布、就业跟踪管理和统计分析功能模块。

(3)数据库设计设计数据库表包括毕业生信息表、求职意向表、就业信息表等。

4.系统实现(1)开发环境本系统采用Java语言开发,使用MySQL作为后台数据库,采用Tomcat作为服务器,采用HTML、CSS、JavaScript等技术实现前端页面。

(2)开发过程先完成毕业生信息管理模块的开发,包括毕业生信息的录入、查询、修改和删除等功能。

然后依次完成求职意向管理、就业信息发布、就业跟踪管理和统计分析等功能模块的开发。

(3)测试在开发完成后,对系统进行功能测试、性能测试和兼容性测试,确保系统能够正常运行。

5.系统部署(1)系统部署环境部署服务器环境需要有一台安装了Tomcat和MySQL的服务器。

(2)系统部署步骤将系统部署到服务器上,并配置好数据库连接等相关信息,确保系统能够正常访问和运行。

6.系统运行和维护系统运行后,需要定期进行数据备份、系统性能监控和安全检查等工作,确保系统运行稳定和可靠。

管理信息系统-就业系统设计报告

哈尔滨理工大学大学生就业管理信息系统设计名称:就业管理信息系统设计报告姓名:顾乐秋学院:经济学院专业:国际经济与贸易14-1学号: 1416010107201 6 年10月29 日目录第1章前言 (1)1。

1 系统目标 (1)1。

2 业务流程图 (2)1。

3 可行性研究 (3)1。

4 需求分析-————-—----——--——--—-———-—-—-—-—-————-———-—-————-—-—-——-—---—--—----——--—-——-———-----—-—-31。

4.1 系统需要解决问题—-——————-—-—--——--—-—---——-—-—---——————————-—--————-——-—-———--------—-—--—31.4.2 系统具备的基本功能—--———--—-——-——-——-——--—-———--—--——------————-——---—-—-----———-—41。

4.3 数据流程图----—-—-—--——---——--—-——---—--——-----——--—--——-———--———-———-—--—-—-—————--41.4。

5 数据字典———--——--——-——----——-——————---————-—---——---—————-—-—--———--————--—--—---—-———-71。

4.6 数据流—-—-————-—-----———--—-—-——————-————————---—-—---—-——-——--——-----—-------———--——--—8第2章总体设计 (9)2.1概述 (9)2。

2系统功能划分 (10)2。

2。

1毕业生子系统功能划分 (10)2。

2.2管理员子系统功能划分 (11)2.2.3 企业子系统功能划分-——---—-—-—-—————--——-----—---—————-—---—--—-—----—-——-—---————--112.3系统功能描述 (12)2.3.1 毕业生子系统功能描述 (12)2。

毕业生就业信息管理系统的设计与实现毕业论文

毕业⽣就业信息管理系统的设计与实现毕业论⽂毕业⽣就业信息管理系统的设计与实现毕业论⽂⽬录摘要................................................................................. 错误!未定义书签。

ABSTRACT ........................................................................ 错误!未定义书签。

引⾔ . (1)第1章绪论 (2)1.1课题背景 (2)1.2⽬的和意义 (2)1.3 系统软硬件要求 (2)第2章开发⼯具及技术 (3)2.1开发⼯具 (3)2.2 JSP技术 (3)2.3 JavaScript (4)第3章需求分析 (5)3.1需求调研 (5)3.2可⾏性分析 (5)3.2.1技术的可⾏性 (5)3.2.2经济的可⾏性 (5)3.2.3操作可⾏性 (5)3.2.4法律的可⾏性 (5)3.3功能模块需求分析 (6)3.4设计的基本思想 (6)3.5性能需求 (6)3.5.1系统的安全性 (6)3.5.2数据的完整性 (6)3.6界⾯需求 (7)第4章系统分析与设计 (8)I刘斌:毕业⽣就业信息管理系统的设计与实现4.1数据库的分析与设计 (8)4.1.1数据库的概念结构设计 (8)4.1.2数据库的逻辑结构设计 ............................................................................................ - 10 -4.1.3数据库的连接原理 (11) 4.2 详细设计 (13)第5章系统功能实现 ....................................................................................... - 15 -5.1系统登陆页⾯实现....................................................................................................... - 15 -5.2管理员功能模块........................................................................................................... - 17 -5.2.1学⽣信息管理............................................................................................................ - 17 -5.2.2班级信息管理............................................................................................................ - 21 -5.2.3就业信息管理............................................................................................................ - 23 -5.2.4招聘信息管理............................................................................................................ - 24 -5.2.5修改登陆密码............................................................................................................ - 27 -5.2.6安全退出系统............................................................................................................ - 28 -5.3学⽣功能模块............................................................................................................... - 28 -5.3.1修改个⼈信息............................................................................................................ - 28 -5.3.2查询招聘信息............................................................................................................ - 29 -第6章系统测试 (30)6.1系统测试⽬的与意义 (30)6.2测试过程 (30)6.2.1主页⾯的登录模块测试 (30)6.3其他错误 ....................................................................................................................... - 30 -结论与展望............................................................................ 错误!未定义书签。

大学生就业管理系统详细设计说明书2

大学生就业管理系统详细设计说明书2 《大学生就业管理》详细设计说明书11 引言1.1 编写目的本详细设计说明书跟据《博客信息管理系统详细设计说明书》编写,描述了系统的详细设计,并为系统代码的编写提供依据。

本文档的预期读者为:项目经理、系统分析员、测试经理、项目组长、系统开发人员。

1.2 系统命名与版本《大学生就业管理系统java命名规范》大学生就业管理系统V1.01.3 定义1.4 参考资料《博客信息管理系统概要设计说明书》。

2 系统程序的结构3 设计说明3.1 数据库基本操作3.1.1 类DB.java的设计方法名称:ExportDB(DataSource ds)语义由DataSource数据源ds获取Connection连接对象conn 方法名称:ResultSet openSql(String sql)语义由Connection连接对象conn获取Statement对象stmt;由Statement对象stmt执行sql查询返回ResultSet查询结果方法名称:ResultSet execSql(String sql)语义由Connection连接对象conn获取Statement对象stmt;由Statement对象stmt执行sql数据更新操作(包括新增、修改)返回ResultSet数据更新操作结果3.2 技能维护3.2.1 类HibernateDao.java的设计 /*** Copyright (c) 2005-2009 ** Licensed under the Apache License, Version 2.0 (the "License");** $Id: HibernateDao.java 441 2009-09-07 15:47:34Z calvinxiu $*/package com.zds.spring.dao.base;import java.io.Serializable;import java.util.ArrayList;import java.util.List;2import java.util.Map;import ng.StringUtils; importorg.hibernate.Criteria;import org.hibernate.Query;import org.hibernate.SessionFactory;import org.hibernate.criterion.CriteriaSpecification; importorg.hibernate.criterion.Criterion; importorg.hibernate.criterion.Disjunction; importorg.hibernate.criterion.MatchMode; import org.hibernate.criterion.Order;import org.hibernate.criterion.Projection; importorg.hibernate.criterion.Projections; importorg.hibernate.criterion.Restrictions; importorg.hibernate.impl.CriteriaImpl;import org.hibernate.transform.ResultTransformer; importorg.springframework.util.Assert;import org.springside.modules.orm.PropertyFilter; importorg.springside.modules.orm.PropertyFilter.MatchType; importorg.springside.modules.utils.ReflectionUtils;import mon.page.Page; //importmon.page.PropertyFilter; //importmon.page.PropertyFilter.MatchType;/*** 封装SpringSide扩展功能的Hibernat DAO泛型基类.** 扩展功能包括分页查询,按属性过滤条件列表查询.* 可在Service层直接使用,也可以扩展泛型DAO子类使用,见两个构造函数的注释.** @param <T> DAO操作的对象类型* @param <PK> 主键类型** @author calvin*/public class HibernateDao<T, PK extends Serializable> extends Simpl eHibernateDao<T, PK> {/*** 用于Dao层子类使用的构造函数.* 通过子类的泛型定义取得对象类型Class.* eg.* public class UserDao extends HibernateDao<User, Long>{* }3*/public HibernateDao() {super();}/*** 用于省略Dao层, Service层直接使用通用HibernateDao的构造函数.* 在构造函数中定义对象类型Class.* eg.* HibernateDao<User, Long> userDao = new HibernateDao<User, Long>(sessionFactory, User.class);*/public HibernateDao(final SessionFactory sessionFactory, final Class<T> entityClass) {super(sessionFactory, entityClass);}// 分页查询函数 ///*** 分页获取全部对象.*/public Page<T> getAll(final Page<T> page) {return findPage(page);}/*** 按HQL分页查询.** @param page 分页参数.不支持其中的orderBy参数.* @param hql hql语句.* @param values 数量可变的查询参数,按顺序绑定.** @return 分页查询结果, 附带结果列表及所有查询时的参数.*/@SuppressWarnings("unchecked")public Page<T> findPage(final Page<T> page, final String hql, final Object... values) {Assert.notNull(page, "page不能为空");Query q = createQuery(hql, values);4if (page.isAutoCount()) {long totalCount = countHqlResult(hql, values);page.setTotalCount(totalCount);}setPageParameter(q, page);List result = q.list();page.setResult(result);return page;}/*** 按HQL分页查询.** @param page 分页参数.* @param hql hql语句.* @param values 命名参数,按名称绑定.** @return 分页查询结果, 附带结果列表及所有查询时的参数.*/@SuppressWarnings("unchecked")public Page<T> findPage(final Page<T> page, final String hql, final Map<String, Object> values) {Assert.notNull(page, "page不能为空");Query q = createQuery(hql, values);if (page.isAutoCount()) {long totalCount = countHqlResult(hql, values);page.setTotalCount(totalCount);}setPageParameter(q, page);List result = q.list();page.setResult(result);return page;}/*** 按Criteria分页查询.** @param page 分页参数.* @param criterions 数量可变的Criterion.5** @return 分页查询结果.附带结果列表及所有查询时的参数.*/@SuppressWarnings("unchecked")public Page<T> findPage(final Page<T> page, final Criterion... criterions) {Assert.notNull(page, "page不能为空");Criteria c = createCriteria(criterions);if (page.isAutoCount()) {int totalCount = countCriteriaResult(c);page.setTotalCount(totalCount);}setPageParameter(c, page);List result = c.list();page.setResult(result);return page;}/*** 设置分页参数到Query对象,辅助函数.*/protected Query setPageParameter(final Query q, final Page<T> page) {//hibernate的firstResult的序号从0开始q.setFirstResult(page.getFirst() - 1);q.setMaxResults(page.getPageSize());return q;}/*** 设置分页参数到Criteria对象,辅助函数.*/protected Criteria setPageParameter(final Criteria c, finalPage<T> page) {//hibernate的firstResult的序号从0开始c.setFirstResult(page.getFirst() - 1);c.setMaxResults(page.getPageSize());if (page.isOrderBySetted()) {String[] orderByArray = StringUtils.split(page.getOrderBy(), ',');6String[] orderArray = StringUtils.split(page.getOrder(), ',');Assert.isTrue(orderByArray.length == orderArray.length, "分页多重排序参数中,排序字段与排序方向的个数不相等");for (int i = 0; i < orderByArray.length; i++) {if (Page.ASC.equals(orderArray[i])) {c.addOrder(Order.asc(orderByArray[i]));} else {c.addOrder(Order.desc(orderByArray[i]));}}}return c;}/*** 执行count查询获得本次Hql查询所能获得的对象总数.** 本函数只能自动处理简单的hql语句,复杂的hql查询请另行编写count语句查询.*/protected long countHqlResult(final String hql, final Object... values) {Long count = 0L;String fromHql = hql;//select子句与order by子句会影响count查询,进行简单的排除.fromHql = "from " + StringUtils.substringAfter(fromHql, "from");fromHql = StringUtils.substringBefore(fromHql, "order by");String countHql = "select count(*) " + fromHql;try {count = findUnique(countHql, values);} catch (Exception e) {throw new RuntimeException("hql can't be auto count, hql is:" + countHql, e);}return count;}/*** 执行count查询获得本次Hql查询所能获得的对象总数.** 本函数只能自动处理简单的hql语句,复杂的hql查询请另行编写count语句查询.7*/protected long countHqlResult(final String hql, final Map<String, Object> values) {Long count = 0L;String fromHql = hql;//select子句与order by子句会影响count查询,进行简单的排除.fromHql = "from " + StringUtils.substringAfter(fromHql,"from");fromHql = StringUtils.substringBefore(fromHql, "order by");String countHql = "select count(*) " + fromHql;try {count = findUnique(countHql, values);} catch (Exception e) {throw new RuntimeException("hql can't be auto count, hql is:" + countHql, e);}return count;}/*** 执行count查询获得本次Criteria查询所能获得的对象总数.*/@SuppressWarnings("unchecked")protected int countCriteriaResult(final Criteria c) {CriteriaImpl impl = (CriteriaImpl) c;// 先把Projection、ResultTransformer、OrderBy取出来,清空三者后再执行Count操作Projection projection = impl.getProjection();ResultTransformer transformer = impl.getResultTransformer();List<CriteriaImpl.OrderEntry> orderEntries = null;try {orderEntries = (List) ReflectionUtils.getFieldValue(impl, "orderEntries");ReflectionUtils.setFieldValue(impl, "orderEntries", new ArrayList());} catch (Exception e) {logger.error("不可能抛出的异常:{}", e.getMessage());}// 执行Count查询int totalCount = (Integer)c.setProjection(Projections.rowCount()).uniqueResult();// 将之前的Projection,ResultTransformer和OrderBy条件重新设回去c.setProjection(projection);if (projection == null) {c.setResultTransformer(CriteriaSpecification.ROOT_ENTITY);8}if (transformer != null) {c.setResultTransformer(transformer);}try {ReflectionUtils.setFieldValue(impl, "orderEntries", orderEntries);} catch (Exception e) {logger.error("不可能抛出的异常:{}", e.getMessage());}return totalCount;}// 属性过滤条件查询函数 ///*** 按属性查找对象列表,支持多种匹配方式.** @param matchType 匹配方式,目前支持的取值见PropertyFilter的MatcheType enum.*/public List<T> findBy(final String propertyName, final Object value, final MatchType matchType) {Criterion criterion = buildPropertyFilterCriterion(propertyName, value, value.getClass(), matchType);return find(criterion);}/*** 按属性过滤条件列表查找对象列表.*/public List<T> find(List<PropertyFilter> filters) {Criterion[] criterions = buildPropertyFilterCriterions(filters);return find(criterions);}/*** 按属性过滤条件列表分页查找对象.*/public Page<T> findPage(final Page<T> page, finalList<PropertyFilter> filters) {Criterion[] criterions = buildPropertyFilterCriterions(filters);return findPage(page, criterions);}/*** 按属性条件列表创建Criterion数组,辅助函数.9*/protected Criterion[] buildPropertyFilterCriterions(finalList<PropertyFilter> filters) {List<Criterion> criterionList = new ArrayList<Criterion>();for (PropertyFilter filter : filters) {if (!filter.isMultiProperty()) { //只有一个属性需要比较的情况.Criterion criterion =buildPropertyFilterCriterion(filter.getPropertyName(),filter.getPropertyValue(),filter.getPropertyType(), filter.getMatchType());criterionList.add(criterion);} else {//包含多个属性需要比较的情况,进行or处理.Disjunction disjunction = Restrictions.disjunction();for (String param : filter.getPropertyNames()) {Criterion criterion = buildPropertyFilterCriterion(param,filter.getPropertyValue(), filter.getPropertyType(),filter.getMatchType());disjunction.add(criterion);}criterionList.add(disjunction);}}Return criterionList.toArray(new Criterion[criterionList.size()]);}/*** 按属性条件参数创建Criterion,辅助函数.*/protected Criterion buildPropertyFilterCriterion(final String propertyName, final Object propertyValue,final Class<?> propertyType, final MatchType matchType) {Assert.hasText(propertyName, "propertyName不能为空");Criterion criterion = null;try {//按entity property中的类型将字符串转化为实际类型.Object realValue = ReflectionUtils.convertValue(propertyValue, propertyType);//根据MatchType构造criterionif (MatchType.EQ.equals(matchType)) {criterion = Restrictions.eq(propertyName, realValue);}if (MatchType.LIKE.equals(matchType)) {criterion = Restrictions.like(propertyName, (String) realValue, MatchMode.ANYWHERE);10}if (MatchType.LE.equals(matchType)) {criterion = Restrictions.le(propertyName, realValue);}if (MatchType.LT.equals(matchType)) {criterion = Restrictions.lt(propertyName, realValue);}if (MatchType.GE.equals(matchType)) {criterion = Restrictions.ge(propertyName, realValue);}if (MatchType.GT.equals(matchType)) {criterion = Restrictions.gt(propertyName, realValue);}} catch (Exception e) {throw ReflectionUtils.convertToUncheckedException(e);}return criterion;}/*** 判断对象的属性值在数据库内是否唯一.** 在修改对象的情景下,如果属性新修改的值(value)等于属性原来的值(orgValue)则不作比较.*/public boolean isPropertyUnique(final String propertyName, final Object newValue, final Object oldValue) {if (newValue == null || newValue.equals(oldValue))return true;Object object = findUniqueBy(propertyName, newValue);return (object == null);}}3.2.2 类SimpleHibernateDao.java的设计类SkillAction用来根据用户的不同操作,调用不同的方法对数据库进行操作。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成都航空职业技术学院课程设计题目毕业生就业信息管理系统教学院计算机学院专业计算机科学与技术班级611321姓名周金龙2012 年11 月29 日指导教师张强课程设计任务书2010~2011学年第2学期学生姓名:周金龙专业班级: 611321指导教师:张强工作部门:华迪公司一、课程设计题目毕业生就业信息管理系统主要研究及实现以下功能:(1) 基本信息管理:可以对毕业学生基本信息的添加、修改、删除,并支持学生姓名和学号的查询。

(2) 院系信息管理:对院系信息进行添加、修改、删除和查看。

此功能为学生档案的分类管理提供依据。

(3) 单位信息管理:对用人单位的信息进行添加、修改、删除和查询等操作。

(4) 就业信息管理:可以对学生的就业资料进行添加、修改、删除和查看等操作。

(5) 招聘信息管理:可以对来校进行招聘的信息进行添加、修改、删除和查询等操作。

(6) 系统设置:对操作员信息进行管理。

二、课程设计内容(含技术指标)1.问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么,限制条件是什么;2.逻辑设计:确定数据库结构,及各个主要模块的功能,并明确模块之间的调用关系;3.详细设计:设计数据库及操作界面,并给出每个功能模块的实现算法;4.程序编码:把详细设计的结果进一步求精为程序设计语言程序,同时加入一些注解和断言,使程序中逻辑概念清楚;5.程序调试与测试:采用自底向上,分模块进行调试,调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;6.结果分析:程序运行结果包括正确的输入及其输出结果,含有错误的输入及其输出结果。

7.编写课程设计报告。

三、进度安排1.软件功能分析与设计;2.数据库及操作界面设计;3.具体代码实现及调试;4.撰写课程设计论文。

四、基本要求1.学生能够按照老师的要求正确的设计数据库;2.学生在老师的指导下,能够设计出相应功能模块;3.学生在阅读参考资料后,能够编写出相应的代码,具备软件开发的能力。

目录1 概述 ..............................................................1.1课程设计的目的.................................................1.2课程设计的要求.................................................2 总体方案设计.......................................................2.1总体模块图.....................................................2.2具备功能.......................................................2.3整体设计思路...................................................2.3主要解决的关键性问题...........................................3 详细设计 ..........................................................3.1功能模块设计...................................................2模块流程图.......................................................3.3数据库设计.....................................................4 程序的调试与运行结果说明...........................................4.1就业记录管理窗体设计...........................................4.2就业记录管理主要实现代码.......................................4.3就业记录管理运行结果...........................................5 课程设计总结....................................................... 参考文献 ............................................................1 概述1.1课程设计的目的1.问题分析和任务定义:根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么,限制条件是什么;2.逻辑设计:确定数据库结构,及各个主要模块的功能,并明确模块之间的调用关系;3.详细设计:设计数据库及操作界面,并给出每个功能模块的实现算法;4.程序编码:把详细设计的结果进一步求精为程序设计语言程序,同时加入一些注解和断言,使程序中逻辑概念清楚;5.程序调试与测试:采用自底向上,分模块进行调试,调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;6.结果分析:程序运行结果包括正确的输入及其输出结果,含有错误的输入及其输出结果。

7.编写课程设计报告。

1.2课程设计的要求1.学生能够按照老师的要求正确的设计数据库;2.学生在老师的指导下,能够设计出相应功能模块;3.学生在阅读参考资料后,能够编写出相应的代码,具备软件开发的能力。

2 总体方案设计2.1总体模块图2.2具备功能①.院系信息的添加、修改、删除、和查看。

②.学生基本信息的添加、修改、删除,并支持学生姓名和学号的查询。

③.学生就业信息的添加、修改、删除和查询。

④.就业单位信息管理,可以根据单位名称进行查询。

⑤.招聘信息管理的添加、修改、删除和查询。

2.3整体设计思路1.系统输出对象包括高校毕业生的基本信息(姓名、性别、身份证号码、毕业院校、专业)、就业单位需求信息和最近更新的招聘信息等等。

2.系统输入对象主要是输入高校毕业生的学号(来源于学生信息数据库,其数据类型属于字符串),椐此来搜寻学生信息,此外,输入用人单位的名称(来源于就业资源信息数据库,其数据类型属于字符串),椐此来搜寻单位信息等。

3.系统流程分析如下:(简化如下)2.3主要解决的关键性问题1.开发工具选择:前台开发工具选择Delphi 7后台数据库选择SQL Server中间层采用ADO数据访问技术,将对数据库的操作以类的形式封装2.关键性技术:所选开发工具的基本编程方法。

基本的后台数据库管理方法,例如创建数据库、创建表、创建视图、备份和还原数据库等。

常用SQL语句的使用。

ADO数据库访问技术。

3 详细设计3.1功能模块设计(一)学生就业记录信息管理模块设计1 模块说明表2模块流程图注:系统主界面和登录窗体设计、学生基本信息管理模块、学生就业记录管理模块、就业单位信息管理模块、招聘信息管理模块由小组其他人员完成。

3.3数据库设计数据库设计是开发数据库及其应用系统的技术,也是信息系统开发和建设的重要组成部分。

具体的说,数据库设计是要在一个给定的应用环境中,通过合理的逻辑设计和有效的物理设计,构造较优的数据库模式,建立数据库及其应用系统,满足用户的各种信息需求。

3.3.1数据库E-R图设计用户实体及属性院系实体及属性学生实体及属性单位实体及属性就业信息及属性招聘信息及属性3.3.2 数据库逻辑结构设计用户信息表院系班级信息表学生信息表就业信息表单位信息表招聘信息表4 程序的调试与运行结果说明4.1就业记录管理窗体设计4.2就业记录管理主要实现代码就业记录公共模块uses DAHelper,ClassesU,ADODB,SysUtils;//添加就业记录function AddEmploy(Employ:TEmploy):boolean;//修改就业记录function EditEmploy(Employ:TEmploy):boolean;//删除就业记录function DelEmploy(EmployID:integer):boolean;//得到就业记录function GetEmployArray:TADOQuery;//查找就业记录,如果没有查找到该就业记录,返回空值function GetEmploy(OpID:integer):TEmploy;//根据学号查找学生就业记录function GetEmployByStdNO(StdNO:string):TADOQuery;implementationfunction GetEmployByStdNO(StdNO:string):TADOQuery;varsql:string;beginsql:='select a.id,b.姓名,c.单位名称,a.职位,a.时间,a.学生证号from 就业记录a '+ ' join 学生信息b on a.学生证号=b.学生证号join 单位信息c '+' on c.id=a.单位id' ;if StdNO<>'' thensql:=sql+' where a.学生证号='+''''+StdNO+'''';result:=DAHelper.ExeSqlQuery(sql);end;function GetEmploy(OpID:integer):TEmploy;varEmploy:TEmploy;sql:string;Adoquery:TADOQuery;begin{ sql:='select a.id,b.姓名,c.单位名称,a.职位,a.时间from 就业记录a '+ ' join 学生信息b on a.学生证号=b.学生证号join 单位信息c '+' on c.id=a.单位id and a.id='+inttostr(OpID);Adoquery:=DAHelper.ExeSqlQuery(sql);if Adoquery.RecordCount<1 thenbeginresult:=nil;endelsebeginEmploy:=TEmploy.Create;Employ.id:=ADOQuery.Fields[0].Value;Employ.stdNo:=ADOQuery.Fields[1].Value;panyID:=ADOQuery.Fields[2].Value;Employ.duty:=ADOQuery.Fields[3].Value;Employ.date:=DateToStr(ADOQuery.Fields[4].Value);result:=Employ;end; }end;function GetEmployArray:TADOQuery;varsql:string;beginsql:='select a.id,b.姓名,c.单位名称,a.职位,a.时间,a.学生证号from 就业记录a '+ ' join 学生信息b on a.学生证号=b.学生证号join 单位信息c '+' on c.id=a.单位id' ;result:=DAHelper.ExeSqlQuery(sql);end;function DelEmploy(EmployID:integer):boolean;varsql:string;beginsql:='delete from 就业记录where id='+inttostr(EmployID);result:=DAHelper.ExeSqlNoQuery(sql);end;function EditEmploy(Employ:TEmploy):boolean;varsql:string;beginsql:='update 就业记录set 学生证号='+''''+Employ.stdNo+''''+ ',单位id='+inttostr(panyID)+',职位='+''''+Employ.duty +''''+',时间='+''''+Employ.date+''''+' where id='+inttostr(Employ.id);result:=DAHelper.ExeSqlNoQuery(sql);end;function AddEmploy(Employ:TEmploy):boolean;varsql:string;beginsql:='insert into 就业记录(学生证号,单位id,职位'+',时间)'+' values('+''''+Employ.stdNo+''''+','+inttostr(panyID)+','+''''+Employ.duty+''''+','+''''+Employ.date+''''+')';result:=DAHelper.ExeSqlNoQuery(sql);end;end.1.学号查询功能procedure Tfrm_Employ.btn_search_stdNoClick(Sender: TObject); begininherited;self.DataSource_info.DataSet:=Control_EmployU.GetEmployByStdNO(self.edt_stdNo_s.Text); self.DBGrid_info.Columns[0].Visible :=false;end;2.就业记录添加功能procedure Tfrm_Employ.btn_addClick(Sender: TObject);varEmploy:TEmploy;Student:TStudent;Company:TCompany;begininherited;if((edt_stdNo.Text='') or (edt_company.Text='')or (edt_duty.Text='')) thenbeginMessageBox(Handle, '内容填写不正确!', '信息', MB_ICONEXCLAMATION);exit;end;Student:=TStudent.Create;Student:=Control_StudentU.GetStudentByStudentNo(self.edt_stdNo.Text);if Student=nil thenbeginMessageBox(Handle, '学号填写不正确!', '信息', MB_ICONEXCLAMATION);edt_stdNo.SetFocus;exit;end;Company:=TCompany.Create;Company:=Control_CompanyU.GetCompanyByName(self.edt_company.Text);if Company=nil thenbeginMessageBox(Handle, '单位填写不正确!', '信息', MB_ICONEXCLAMATION);edt_company.SetFocus;exit;end;Employ:=TEmploy.Create;Employ.stdNo:=Student.stdNo;panyID:=Company.id;Employ.duty:=self.edt_duty.Text;Employ.date:=DateToStr(self.DTP_date.Date);if(Control_EmployU.AddEmploy(Employ)) thenbeginMessageBox(Handle, '添加成功!', '信息', MB_ICONASTERISK);//刷新内容FillData;if self.DBGrid_info.Fields[0].IsNull thenbeginself.edt_stdNo.Tag:=0;//保存idself.edt_stdNo.Text:='';self.edt_company.Tag:=0;self.edt_company.Text :='';self.edt_duty.Text:='';self.DTP_date.Date:=now;endelsebeginself.edt_stdNo.Tag:=self.DBGrid_info.Fields[0].Value;self.edt_stdNo.Text:=self.DBGrid_info.Fields[5].Value;self.edt_company.Text :=self.DBGrid_info.Fields[2].Value;;self.edt_duty.Text:=self.DBGrid_info.Fields[3].Value;;self.DTP_date.Date:=self.DBGrid_info.Fields[4].Value;;end;endelsebeginMessageBox(Handle, '添加失败!', '信息', MB_ICONEXCLAMATION);exit;end;end;4.3就业记录管理运行结果(1)就业记录添加和查询结果(2)就业记录删除结果5 课程设计总结毕业生就业信息管理系统的设计不仅可以提高管理人员的工作效率,便于工作人员对信息进行管理,同时也加强了信息的安全性和可靠性。

相关文档
最新文档