基于C#+asp.net+sqlserver的网上人才招聘系统设计与实现(毕业论文+程序源码)

大家好,今天给大家介绍基于C#+asp.net+sqlserver的网上人才招聘系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦

文章目录:

  • 基于C#+asp.net+sqlserver的网上人才招聘系统设计与实现(毕业论文+程序源码)
    • 1、项目简介
    • 2、资源详情
    • 3、关键词:
    • 4、毕设简介
    • 5、资源下载

1、项目简介

  1. 本系统是使用MS.NET平台中的ASP.NET开发基于B/S体系结构的Web应用程序,在Microsoft Visual Studio .NET 环境下,使用 C# 编程语言并结合Microsoft SQL Server 数据库开发的一套网络招聘系统。可以根据登录身份而行使不同的权限实现了用户注册、登录、验证身份及用户数据的采集、搜索/查看用户信息,站内最新新闻信息发布。个人用户把简历提交给自己合意公司,企业用户通过简历提取自己合意人员的联系方式,管理员管理整个网站。

2、资源详情

项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:12189个字31页
包含内容:整套源码+完整毕业论文


3、关键词:

网上招聘;求职;ASP.NET;B/S体系;新闻发布


4、毕设简介

提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。

1 引言
1.1 课题背景
省略

1.2 本课题研究路线
本网上招聘系统在管理中实现面对单个公司/用户注册后就能轻松的建立起自己个人的网上资料站点,公司将公司的情况,所要的招聘岗位等一些有关情况,详细的列出。应聘者通过此可轻松了解公司情况,便更容易找到自己适合的工作。同时应聘者可以轻松把自己的简历传到自己的网上存储资料站点或发到公司的网上招聘存储资料站点。公司可以分类,分别管理,能系统的,清晰的知道每个应聘者的详细情况,以便可以挑选出最合适的人、最好的利用人才,创造最大的价值。

1.3 本课题研究的意义
省略

2 网络招聘系统研究概述
2.1 网络招聘的发展史
省略

2.2 我国网络招聘的发展现状
省略

2.3 网络招聘求职的作用和优势
省略

2.4 网络招聘存在的问题
省略

3 系统需求分析
3.1 功能和需求分析
首先根据使用该系统的用户的角色的不同分为三种不同用户:
系统管理员:负责管理网站上的各种信息,包括发布新闻,管理新闻和查看删除所有的个人用户和企业用户。

个人用户:可以在线填写个人基本情况、发布求职信息、浏览新闻、查看招聘和求职信息,在线向自己满意的公司提交简历,在个人收藏夹里查看自己提交简历到哪几个公司。

企业用户:可以在线填写企业基本情况,发布企业招聘信息,浏览新闻,查看求职和招聘信息,在线查看和管理个人用户提交的简历功能。根据简历提取符合本公司人员的联系方式。

系统进行功能模块,主要分为用户管理、个人用户、企业用户和管理员四个模块,每个模块又分为若干功能模块,如图1所示:

图1系统功能模块图
3.2 系统的结构和流程设计
进入网站后,首先是登录界面,已经注册的用户可以直接登录,系统将根据用户选择区分是个人用户还是企业用户,个人用户又分为管理员和普通用户,系统根据用户的不同将用户分别链接到各自的主界面下。没有注册的用户可以单击链接到注册界面,并选择是个人用户还是企业用户以完成注册,最后链接到各自的用户界面。其过程模块图如图2所示:

图2 登录和注册过程模块图

这里没有管理员用户的注册,由于管理员用户是不能随便注册的,他的登录所需要的信息在web.config文件中配置,而不用通过系统注册界面。

个人用户工作流程功能模块图如图3所示:

图3个人用户工作流程模块图
企业用户的模块图如图4所示:

图4 企业用户模块图
管理员管理流程模块图如图5所示:

图5 管理员管理流程模块图
在实现中,它们可以使用同样的超链接,而没有必要重复编写功能基本一样的界面,而是可以根据用户的不同,给页面不同的权限。

3.3 数据库结构设计
3.3.1 数据表的设计
新闻信息表news、个人用户表person、企业用户表company、个人简历表getJobInfo、招聘信息表giveJobInfo、在线申请表resume,下面分别介绍这些表的结构。


3.3.2 存储过程的设计
(1)向news 表中添加新闻存储过程:

create Proc AddNewss
@titlevarchar(100),@sourcevarchar(30),@publicDate datetime,@content text,@hits int,@picture varchar(50) as insert into news(title,source,publicDate,content,hits,picture)
values(@title,@source,@publicDate,@content,@hits,@picture)

(2)创建个人简历的储存过程。
个人基本信息如姓名性别的存储过程:

create proc updatePBaseInf
@personID int,@name varchar(10),@sex varchar(5),@email varchar(50),@phone varchar(20),@address varchar(50),@addNum varchar(10) as update getJobInfo set name=@name,sex=@sex,email=@email,phone=@phone,address=@address,addNum=@addNum where personID=@personID

求职有关信息如工作经验、所求职位的存储过程:

create proc updatePCareer
@personID int,@type varchar(50),@workPosition varchar(50),@workCity char(10),@wage varchar(50),@other text,@publicTime datetime,@lookTimes int as update getJobInfo set type=@type,workPosition=@workPosition,workCity=@workCity
wage=@wage,other=@other,publicTime=@publicTime,lookTimes=@lookTimes where personID=@personID

(3)创建企业发布招聘信息的存储过程。
企业基本信息如公司名称、地址的存储过程:

create proc updateCBaseInfo
@companyID int,@companyName varchar(50),@vocation varchar(50),@email varchar(50),@phone  varchar(50),@address  varchar(50),@addNum   varchar(50) as update giveJobInfo set companyName=@companyName,vocation=@vocation,email=@email,phone =@phone,address=@address,addNum=@addNum
where companyID=@companyID

企业发布招聘信息如工作要求、招聘人数的储存过程:

create proc updateCCareer@companyID int,@workPosition varchar(50),@giveNum varchar(50),
@workCity varchar(50),@describe  varchar(50),@request  text,
@publictime  datetime,@lookTimes int As update gieveJobInfoSet workPosition=@workPosition,giveNum=@giveNum,workCity= @workCity,describe=@describe,request=@request,publictime=
@publictime,lookTimes=@lookTimes where companyID=@companyID

4 系统配置和通用模块介绍
4.1 Web.config配置
ASP.NET提供了非常方便的Web.config配置文件来支持对网络应用程序的配置,可以帮助管理人员轻松,快速建立里自己的web 应用环境。
web.config文件可以支持一个完全编译的应用程序的配置。这样做的优势在于,源代码对管理员是不可见的。这样保证了系统的安全性。
下面为本系统的web.config文件配置。

<add key="strConnection" value="server=(local);initial catalog=hr;uid=sa;pwd= "/> //数据库连接
<add key="aaa" value="aaa"/>
<authentication mode="Forms">
<forms loginUrl="default.aspx" protection="All">//设置默认起始页面<user name="aaa" password="aaa"></user> //设置管理员账号和密码

4.2 用于操作数据库的通用模块
程序编写涉及大量与数据库有关的操作,为了便于开发和维护,可以把这些类数据库操作封装成一些类,然后页面操作可以直接调用这些类中的添加、查找或删除等函数。这体现了软件工程中代码复用的原则。

Base类在Base.cs文件中定义,是本系统中所有与数据库操作有关的类的基类,它定义了通用的数据库操作的几类函数。

namespace My.Hr.DbBase
{public abstract class Base
{protected static string strConn=ConfigurationSettings.AppSettings[“strCon”];
//调用web.confing文件中配置的数据库连接protected static string strSQL;private int m_ID;private string m_Name;public int ID{ get {return m_ID; }Set {m_ID = value;}      }public string Name{ get    {return m_Name; }set    {m_Name = value;}      }下面的函数ExecuteSql代表了一类数据库的操作,也就是执行没有返回值的SQL语句。如果界面中的操作函数要执行一些无返回值的数据库操作,如插入、删除等只须调用这个函数,在strSQL中制定操作的字符串即可。protected static int ExecuteSql(string strSQL){SqlConnection myCn = new SqlConnection(strConn);         SqlCommand myCmd = new SqlCommand(strSQL,myCn);try { myCn.Open();    //打开数据库myCmd.ExecuteNonQuery();   //执行无返回值的数据库操作return 0; }catch(System.Data.SqlClient.SqlException e)  //抛出异常{ throw new Exception(e.Message);}finally{myCmd.Dispose();   //释放该组件占用的资源myCn.Close();    //操作完毕关闭连接    }}
函数ExecuteSqlEx()封装了返回值为DataReader类型的操作,如果以后有需要执行返回值DataReader的操作时,只需要调用这个函数即可。protected static int ExecuteSqlEx(string strSQL){  SqlConnection myCn = new SqlConnection(strConn);            SqlCommand myCmd = new SqlCommand(strSQL,myCn);Try {myCn.Open();SqlDataReader myReader = myCmd.ExecuteReader();if(myReader.Read())  //调用一次,只能返回一行数据记录{return 0;   //执行成功返回0    }    }}}
函数ExecuteSql4Ds()封装了返回值为DataSet类型的操作,这样如果以后有需要执行返回值DataSet的操作时候,只需要调用这个函数即可,而无须反复出现下面的这段代码。protected static DataSet ExecuteSql4Ds(string strSQL){  SqlConnection myCn = new SqlConnection(strConn);           Try {myCn.Open();SqlDataAdapter sda = new SqlDataAdapter(strSQL,myCn);DataSet ds = new DataSet("ds");sda.Fill(ds);return ds;}函数ExecuteSql4Value()封装了返回值为int 类型的操作,这样如果以后有需要执行返回值int 的操作时,如返回具有所有用户的个数,或者企业应征者的个数等,只要调用这个函数即可。protected static int ExecuteSql4Value(string strSQL){  SqlConnection myCn = new SqlConnection(strConn);           SqlCommand myCmd = new SqlCommand(strSQL,myCn);try {myCn.Open();object r = myCmd.ExecuteScalar();//返回查询得到的对象if(Object.Equals(r,null))//如果对象为空,抛出异常{throw new Exception("value unavailable!"); }else{  //否则返回得到的数值return (int)r;//强制类型转换,将对象型变为整型返回 }}catch(System.Data.SqlClient.SqlException e){throw new Exception(e.Message);}finally   {   myCmd.Dispose();    myCn.Close();   }}
函数ExecuteSqls()的功能是执行多条无返回值的SQL数据库操作,它的参数是一个字符串数组,每个字符串是一个SQL数据库脚本命令,如果都执行成功就返回0,它用到了SQLTransaction,先连续执行完字符串数组制定的一系列操作,然后再提交。如果这个过程出现异常,则需要将数据库回卷到原来的状态。protected static int ExecuteSqls(string[] strSQLs){   SqlConnection myCn = new SqlConnection(strConn);           SqlCommand myCmd = new SqlCommand();           int j=strSQLs.Length;try   {myCn.Open();   }catch(System.Data.SqlClient.SqlException e){throw new Exception(e.Message);}SqlTransaction myTrans = myCn.BeginTransaction();try  {   myCmd.Connection = myCn;               myCmd.Transaction = myTrans;
foreach(string str in strSQLs){ myCmd.CommandText = str;myCmd.ExecuteNonQuery();   }myTrans.Commit();  return 0;   }catch(System.Data.SqlClient.SqlException e){   myTrans.Rollback();}}
页面操作类还有person.cspersonstore.cs、company.cs、companystore.cs、news.cs等操作类。这些类实现各种功能,由页面调用。从而能实现页面和代码分离。

4.3 管理员模块设计与实现
管理员负责整个系统的个人用户、企业用户,以及新闻信息的管理,主要包括登录界面、主界面、新闻管理界面、个人用户管理界面和企业用户管理界面。

4.3.1 注册界面设计
在本系统中管理员用户的个人登录信息保存在web.config配置文件中,他和其他个人用户一样登录。整个系统注册部分的如图6所示。

本系统的注册比较简单,是为了减少繁冗的信息登记,方便用户登录。注册成功后才在属于自己的页面登记详细信息。注册表单提交后,服务器就会对提交的内容进行验证,如果填写错误的项要给出出错提示信息,并允许重新填写提交。这里需要用到requiredfieldvalidator控件,所有的输入框都需要这个验证控件,它用来验证输入都不能为空,comparevalidator 验证控件用来验证用来验证两次输入的密码是否相同。RequiredFieldValidator控件用来验证输入的邮箱是否合法.

图6 注册页面
该页面代码调用的是person类的add()方法,当个人用户注册时候就调用它。它先检查新注册用户名是否已经存在,如果存在抛出“This name was registered”异常,否则在表getJonInfo中插入新的表项,以便该用户登录后可以在线填写和提交简历。代码如下:

public void Add(){   if(IsExist()){throw new Exception("This name was registered!");}
else    {   strSQL = "Insert into person (Name,Password,Email) Values("+ "'" + this.Name + "',"+ "'" + Functions.Encrypt(this.Password,1) + "',"   + "'" + this.Mail + "')"; //密码加密后再插入数据库。   try{ExecuteSql(strSQL); }catch{throw new Exception("Register FAILED!");}strSQL = "Select Max(personID) From person";int personId;try    {personId = ExecuteSql4Value(strSQL); }catch{throw new Exception("Register FAILED!");   }
strSQL = "Insert into getJobInfo (personID) Values("+"'"+ personId.ToString() +"')";try  {ExecuteSql(strSQL);}catch{throw new Exception("Register FAILED!");} }           函数IsExist()被前面的Add()函数调用,用来检查person表中是否已经存在一个用户名,如果存在则返回true,否则返回false.代码如下:public bool IsExist()
{ strSQL = "Select personID from person Where Name=this.Name ";Try {ExecuteSql4Value(strSQL);return true;}Catch {return false;}
}

4.3.2 登录界面设计
用户登录需要验证用户的用户名和密码,从而保证用户可见和可使用的资源。管理员和其他用户的登录界面是一样的,都是根目录的default.aspx和default.aspx.cs 文件。邦定代码default.aspx.cs文件的关键部分是单击“登录”按钮后的相应函数,它根据用户名和密码,以及用户种类将界面重定向到各类用户的主界面上,登录界面调用了Person 和Company类的Login() 函数判断用户是否已经登录:

public bool Login()
{ strSQl=”Select personID from person where name=
”+this.Name”’+"AndPassword='"+ Functions.Encrypt(this.Password,1) +"'";Try  {ExecuteSql4Value(strSQL);   return true;    }catch {return false;   }       }

4.3.3 主界面设计
所有的用户公用一个主界面,即Home.aspx,管理员用户也不例外,只是在该界面中,对不同的用户提供了不同的链接。提供给管理员的链接有撰写新闻、管理新闻、管理个人用户和管理企业用户。其界面如图7:

图7 管理员主界面

Home.aspx中包含了两个frame,分别是页面首部的Top.aspx文件和下面主窗口Main.aspx文件。页面首部的Top.aspx 文件描述了一些所有用户都公用的功能,如浏览新闻、浏览招聘信息、浏览应聘信息等。也就是说,Top上对于链接对于所用用户都是可见的。表7给出了顶部菜单中的各个超链接所对应的文件。

表7 顶部菜单对应的超链接文件

下面的主界面Main.aspx分别为两个Frame,左边Frame对应的文件是Left.aspx和它邦定代码Left.aspx.cs。它对应每一种特定的用户提供不同的选项,如前所述,对于管理员用户它提供了撰写新闻、新闻管理、个人用户管理和企业用户管理选项,对于个人用户它提供了填写个人信息、填写个人简历选项;对于企业用户,它提供了填写企业信息,发布招聘信息,以及查看招聘结果等选项。右部的窗口是主窗口,用于显示和编写各种信息,左部菜单中各个超链接对应的文件如表8所示。

表8 左部菜单对应的超链接文件

根据不同的用户类型,可以显示不同的超链接的部分。区分一个用户是管理员还是普通用户的方法是判断他的用户名是否在前面提到的web.config中指定aaa字符串中,person类中的函数IsSupervisor()完成了这个功能,它先从配置文件的aaa字符串中取出指定的管理员的用户名集合,然后将其保存在字符串数组names中,如果给定的用户名等于其中的一个字符串,说明这个用户是管理员用户,代码如下:

Public bool IsSupervisor()
{string strManager = ConfigurationSettings.AppSettings["aaa"];        string [] names = strManager.Split(',');int i;for(i=0;i<names.Length;i++){if(Name == names[i]){return true; }}return false;         }

4.3.4 撰写新闻界面设计
在系统管理员的主界面左侧,单击“撰写新闻”按钮,右面的显示窗口则进入撰写新闻界面,管理员填写完新闻内容后按下“提交”后,将执行注册函数btn_Replay_Click(),该函数将用户输入的内容存储到数据库中,代码如下:

ArrayList CommAry=new ArrayList();string ext=""; string name="";           if((myFile.PostedFile!=null)&&(myFile.PostedFile.FileName!=""){ string nam = myFile.PostedFile.FileName ;int i= nam.LastIndexOf(".");//取得文件名路径里最后一个"."的索引ext =nam.Substring(i); //取得文件扩展名//这里自动根据日期和文件大小不同为文件命名,确保文件名不重复。DateTime now = DateTime.Now;
name=now.DayOfYear.ToString()+ myFile.PostedFile.ContentLength;
//保存文件到所要的目录,这里是IIS根目录下的upfiles目录.
//Server.MapPath()取当前文件的绝对目录"\"必须用"\\"代替            myFile.PosteFile.SaveAS(Server.MapPath("upload")+"\\"+ext+name);}             存储新闻时候,需要调用News类的AddNews函数,而Addnews()函数利用一个名为addNews的存储过程向数据库的news表插入一条新闻。利用下面的代码来存储新加入的新闻,新闻的信息暂时存储在ArrayListtempary中,先从中取出各个值,然后调用存储过程将其存储到数据库中。
public void AddNews(ArrayList tempary)
{SqlConnection myCn=new SqlConnection(strConn);
SqlCommand myCm=new SqlCommand("AddNews",myCn);
//调用updatePBaseInfo的存储过程,下面省略了一些代码//
myCm.CommandType =CommandType.StoredProcedure ;
myCm.Parameters.Add(new SqlParameter("@publicDate",SqlDbType.DateTime));
myCm.Parameters["@publicDate"].Value =tempary[0];
try {myCn.Open() ;MyCm.ExecuteNonQuery() ;  }
catch(System.Data.SqlClient.SqlException er){throw new  Exception(er.Message);}
finally{myCm.Dispose() ;    myCn.Close() ;} }

4.3.5 新闻管理界面设计
新闻管理是管理员手动删除过期或点击率比较小的新闻。在系统管理员的主界面左侧,单击“管理新闻”按钮,右面的显示窗口则进入管理新闻界面,它的界面如图8:

图8 新闻管理界面

生成新闻列表用刀了DataGrid控件,从数据库查询得到的全部新闻信息绑定到该空间上并以列表的形式输出,代码如下:

private void Bind(){ DataSet ds = My.News.GetNews();Label1.Text = "共有新闻个数:" + ds.Tables[0].Rows.Count;this.DataGrid1.DataSource = ds.Tables[0].DefaultView;this.DataGrid1.DataBind();}
上面调用的News类的静态成员方法GetNews()用于返回所用的新闻信息,代码如下:
public static DataSet GetNews()
{ strSQL = "SELECT * FROM news";
Try  {return ExecuteSql4Ds(strSQL); }
catch{throw new Exception("Get all the news Information failed!");    }}

管理员想删除新闻,先将复选框选中,可以多选(全部选择可以点击“全选”图标),再点击“删除”按钮图标,由于这两个按钮位于列表框底部,是该列表框的一部分。全选中新闻代码如下:

private void btnCheckAll_Click(){    CheckBox cb = new CheckBox();int i,j = DataGrid1.Items.Count;for(i=0;i<j;i++)           {cb=(CheckBox)DataGrid1.Items[i].Cells[0].FindControl(“CheckBox”)cb.Checked = true;}      }
删除选中的新闻代码如下:
private void btnDelete_Click(){ CheckBox cb = new CheckBox();StringBuilder sb = new StringBuilder();int i,j = DataGrid1.Items.Count;for(i=0;i<j;i++)//用一个循环来逐个检查显示的每个新闻项{cb= (CheckBox)DataGrid1.Items[i].Cells[0].FindControl("CheckBox");if(cb.Checked){sb.Append(DataGrid1.Items[i].Cells[2].Text.Trim());sb.Append("','");//如果该新闻前的复选框被选中记录他的id}    }string strNames = sb.ToString();try   {   My.News.DeleteGroup(strNames);
//调用News类中的DeleteGroup()函数删除选中的新闻lblInfo.Text =”删除成功”;//输出成功提示信息Response.Redirect("NewsManage.aspx");//删除成功后刷新页面         catch{lblInfo.Text = "Delete failed!";//输出错误提示信息}               }

如果管理员在决定删除某条新闻前查看该新闻信息,直接点击该新闻的标题,则可直接链接到该新闻的详细内容。

4.3.6 个人用户管理界面设计
个人用户管理该模块与企业用户管理模块与前面的新闻管理基本相同,是管理员删除注册的用户。操作的时候删除表中的某一行时候需要注意,个人用户管理模块中表中的personID列是getJobInfo表的一个外键,需要先在getJObInfo 表中删除所有相关的行,再删除在person 表中的对应行。具体代码如下:

public static void DeleteGroup(ArrayList group){  int j=group.Count*2;string[] strSQL=new string[j];int k=0;for(int i=0;i< j;i++){ k=i/2;strSQL[i]="delete from GetJobInfo wherepersonID=group[k];i++;strSQL[i]="delete from person where personID='"+group[k] }ExecuteSqls( strSQL); }

4.4 个人用户模块设计
个人用户登录后,可以直接进入个人用户主界面,如图9所示:

图9 个人用户主界面
该界面的实现过程和前面的管理员主界面一样,它们是一个公用的文件,只是左边的菜单栏中可见的超链接不同。在个人主界面中,可以见到“个人基本信息” 、“求职简历“、”工作要求“、”个人收藏夹“的超链接。

4.4.1 个人基本信息界面设计
个人基本信息用于个人用户填写、提交和查看个人基本信息,如姓名、联系方式等。界面效果如图10所示:

图10 个人基本信息界面
填好好单击下面的”submit”按钮,用户填写的数据将被提交到数据库中。这个提交过程主要由负责响应”submit”按钮弹机事件的这次函数btn_Replay_Click()处理,代码如下:

private void btn_Replay_Click(object sender, System.EventArgs e){    ArrayList CommAry=new ArrayList();CommAry.Add(int.Parse(Session["UserId"].ToString()));CommAry.Add(tb_Name.Text.Trim());CommAry.Add(tb_Sex.Text.Trim());CommAry.Add(tb_Email.Text.Trim());CommAry.Add(tb_Phone.Text.Trim());CommAry.Add(tb_Address.Text.Trim());CommAry.Add(tb_AddrNum.Text.Trim());         try{myInfo.UpdateMyBaseInfo(CommAry);}catch{Response.Redirect("Error.aspx");}

该函数先将用户填写的信息用一个ArrayList对象保存,然后调用GetJobInfo()类的成员方法updateMyBaseInfo来讲用户更新的信息存储到数据库中,该方法利用一个存储过程来完成更新,代码和上面的撰写新闻用的存储过程类似。

4.4.2 查看招聘信息和在线提交简历
个人用户可以查看企业发布的招聘信息,如果看到自己满意的单位,可以直接在线提交简历。单击个人用户界面的“招聘”超链接,主窗口将显示招聘信息列表。如图11所示:

      图11 招聘信息界面

招聘信息的列表中有一个搜索功能,用户在“搜索”按钮前的输入框中可以输入搜索的关键字,然后单击“搜索”按钮,页面将会显示搜索后的结果列表。比如输入“聚拢”,将出现如图12所示的搜索结果。

图12 搜索界面
搜索函数调用GiveJobInfo类的成员方法SearchCompanyInfo用于对三个指定的关键字在数据库中进行匹配,代码如下:

public static DataSet SearchCompanyInfo(string Msg){ string str;str="select * from giveJobInfo where companyName like '%" + Msg + "%' or workPosition like '%" + Msg + "%' or workCity like '%" + Msg + "%' or request like '%" + Msg + "%' ";DataSet myDs;myDs=ExecuteSql4Ds(str);return myDs;
}

单击招聘信息列表中的任一行的公司名称,将会超链接到该公司的招聘信息界面,从而使用户看到该企业的基本信息,如图13所示:

图13 企业基本信息界面
如果用户对这个企业的招聘信息感兴趣,还可以直接单击“提交简历”按钮在线提交简历。提交简历用到将个人和企业的信息保存到了resume表,从数据库理论来讲Resume 表实际上是一个关系集,它建立了Person和Company表的一种多队对多的关系。用户每提交一次建立,就在表Resume中用该用户的PersonID和所申请的公司的CompanyID新加一项,这样就表示用户已经投了该公司的简历。

4.5 企业用户模块设计
企业用户模块设计,企业用户需要有填写企业基本信息,在线发布求职信息,接收个人用户的应聘简历的功能,同时可以选择合格应聘者的联系方式。

4.5.1 企业收藏夹
企业收藏夹界面显示的是应聘企业的所有人的列表,如图14所示:

图14 企业收藏夹界面
它利用当前企业用户信息来得到所有应聘者的数据库查询操作,代码如下:

Public static DataSet GetPerson(int  companyId)
{ strSQL=”SELECT * FROM resume where companyID=”+companyID+”;
Try{return ExecuteSql4Ds(strSQL};}

单击“显示合格人员按钮”就可以显示合格人员的联系方式如电话和电子邮件,然后公司可以选择任何一种方式来通知应聘人来公司面试或笔试。单击表中申请人的名字,可以链接到个人基本信息页面,查看个人简历,从而决定应聘人员是否符合本公司要求,

4.5.2 查看求职信息列表
企业用户不仅可以看到申请职位的用户的简历,还可以查看所有的求职信息,单击姓名,可以超链接到他的个人简历。并搜索想要的人才,如果找到,就可以用用户留下的联系方式直接与其联系。求职界面如图15所示:

图15 求职信息界面
4.6 新闻模块设计
4.6.1 浏览新闻界面
所有用户登录后的主界面的主窗口显示的都是新闻浏览界面如图16所示:

图16 新闻浏览界面
在新闻浏览页面中的近期新闻为最新发布的新闻,重要新闻点击率最高的新闻,图片新闻中从图片新闻中选出最新发表的有图片新闻和点击率高的有图片的新闻。
从数据库中提取图片代码:

String=”select top 10 “+id,title,dercr=+’&nbsp;’SUBSTRING
(content,0,50)+’…..’,image=casewhen(notpictureisnull)then(‘<img src=upload/’+picture+’ Boder=1 whidth=70 height=100>’ else’<img src=img/pic.jpg border=1 width=70 height=100>’end form news order by hits DESC”;

上面SQL查询语句间news 表picture列的信息取出并内嵌在一个html的img 控件中,作为该控件的src字段的值,就完成了从数据库中取出图片并完成显示的功能。在前面的界面中,单击某条新闻标题可以查看新闻详细信息。

结 论
在具有良好的可视化的编程环境ASP.NET C(#)下,在编程的过程中就可以对所做的模块进行运行调试,发现错误,就可以立即进行改正。经过不断地修改和更正,本系统已运行结果正常,系统达到了拥有丰富的信息容量、良好的人机交互界面、快捷的检索效果。

参考文献
[1] 杨昆鹏,孟凡绮. ASP.NET+SQL Server动态网站开发[M].北京:电子工业出版社,2005。
[4]方睿,刁仁宏,吴四九.网络数据库原理及运用[M].成都:四川大学出版社,2005。
[3] 吴财军. C#经典范例50讲[M].北京:北京希望电子出版社,2003。
[4]曹斌,韩中孝.ASP.NET数据库项目开发实践[M].北京:科学出版社,2005。
[5] 王兴晶.Visual Basic.NET数据库开发典型实例[M].北京:电子工业出版社,2002.9。
[6] 孙三才,张智凯.C#与.net Framework实战演练[M].北京:中国铁道出版社,2002。
[7] 托特斯基[美]. C#.NET Web开发指南[M].北京:机械工业出版社 2003.1。
[8] 索传军. 中国网络招聘研究报告[J] .图书情报知识,2005,(5):50-53。

致 谢
省略


5、资源下载

本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。

序号 毕业设计全套资源(点击下载)
本项目源码 基于C#+asp.net+sqlserver的网上人才招聘系统设计与实现(源码+文档)_C#_BS架构_网上人才招聘系统.zip

C#毕业设计——基于C#+asp.net+sqlserver的网上人才招聘系统设计与实现(毕业论文+程序源码)——人才招聘系统相关推荐

  1. C#毕业设计——基于C#+asp.net+FTP的FTP客户端设计与实现(毕业论文+程序源码)——FTP客户端

    基于C#+asp.net+FTP的FTP客户端设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+FTP的FTP客户端设计与实现,文章末尾附有本毕业设计的论文和源码下载地 ...

  2. C#毕业设计——基于C#+asp.net+sqlserver的网上鲜花销售系统设计与实现(毕业论文+程序源码)——鲜花销售系统

    基于C#+asp.net+sqlserver的网上鲜花销售系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的网上鲜花销售系统设计与实现,文章末尾 ...

  3. C#毕业设计——基于C#+asp.net+sqlserver的网上教材管理系统设计与实现(毕业论文+程序源码)——教材管理系统

    基于C#+asp.net+sqlserver的网上教材管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的网上教材管理系统设计与实现,文章末尾 ...

  4. java毕业设计——基于java+Java awt+swing的愤怒的小鸟游戏设计与实现(毕业论文+程序源码)——愤怒的小鸟游戏

    基于java+Java awt+swing的愤怒的小鸟游戏设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Java awt+swing的愤怒的小鸟游戏设计与实现,文章末尾附有本毕 ...

  5. java毕业设计——基于java+Winpcap的局域网监听软件设计与实现(毕业论文+程序源码)——局域网监听软件

    基于java+Winpcap的局域网监听软件设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于java+Winpcap的局域网监听软件设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

  6. vb毕业设计——基于vb+VB.NET的媒体播放器设计与实现(毕业论文+程序源码)——媒体播放器

    基于vb+VB.NET的媒体播放器设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于vb+VB.NET的媒体播放器设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 文章目录: 基于 ...

  7. java毕业设计——基于Java+Bootstrap+Mysql的电影评论网站设计与实现(毕业论文+程序源码)——电影评论网站

    基于Java+Bootstrap+Mysql的电影评论网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于Java+Bootstrap+Mysql的电影评论网站设计与实现,文章末尾附有本毕 ...

  8. asp毕业设计——基于asp+sqlserver的旅游网站设计与实现(毕业论文+程序源码)——旅游网站

    基于asp+sqlserver的旅游网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+sqlserver的旅游网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下 ...

  9. asp毕业设计——基于asp+sqlserver的美食网站设计与实现(毕业论文+程序源码)——美食网站

    基于asp+sqlserver的美食网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+sqlserver的美食网站设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦. 文章 ...

  10. asp毕业设计——基于asp+access的校园网物品交易平台设计与实现(毕业论文+程序源码)——校园网物品交易平台

    基于asp+access的校园网物品交易平台设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的校园网物品交易平台设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦 ...

最新文章

  1. 算法-判断是否是完全二叉树
  2. 壕!甲骨文创始人 8000 万美元买豪宅后打算拆掉
  3. mysql数据库实验3查询_MySQL数据库实验:任务三 数据库的单表查询设计
  4. java实现转账功能_如何利用Java代码模拟银行转账这一功能?
  5. Linux的解压报错tar: Error is not recoverable: exiting now
  6. python基础-文件操作(10)
  7. 【jvm】jvm 执行模式设置
  8. Maven pom.xml配置详解
  9. 看高手都是运用的灵活自如,打算从今天开始学习他!
  10. httpd linux启动脚本,Linux下一个智能重启Apache服务器的脚本分享
  11. 如何将nupkg离线安装包安装到VS2017、9
  12. 如何编写python代码
  13. Microsoft Office 2010 中的 Office 检测到此文件有问题
  14. php 制作简易论坛,Dreamweaver打造PHP网站之简易论坛教程
  15. java清除浏览器缓存
  16. automatic preferred max layout width
  17. 个人热爱软件编程,我对自己做了一个总结
  18. kubernetes【k8s】adm方式安装[超级详细]
  19. 如果考研再来一次,你不会做哪些事情
  20. LT8911EXB MIPI CSI/DSI转EDP信号转换芯片

热门文章

  1. MultipartFile的使用
  2. linux : add new log type to plog
  3. Word中插入参考文献
  4. 自动驾驶感知算法实战3——自动驾驶2D和3D视觉感知算法概述
  5. 太阳能收集充电器设计
  6. Coordinate Attention for Efficient Mobile Network Design
  7. 计算机科学与技术办公室局域网论文,计算机科学与技术专业毕业论文--单位局域网的建设(可编辑).doc...
  8. 如何使用WebSocket实现网页聊天室?
  9. ❤️数据可视化❤️:基于Echarts + GeoJson实现的地图视觉映射散点(气泡)组件【5】 - 广西省
  10. 软件测试OA办公自动化系统测试方案