基于C#+asp.net+sqlserver在线论文提交系统设计与实现(毕业论文+程序源码)
大家好,今天给大家介绍基于C#+asp.net+sqlserver在线论文提交系统设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦。需要下载开题报告PPT模板及论文答辩PPT模板等的小伙伴,可以进入我的博客主页查看左侧最下面栏目中的自助下载方法哦
文章目录:
1、项目简介
- 本设计就很好的解决了上面的问题,它不但能实现毕业生论文的在线提交;还能给教师一定的权限,以在线的方式对自己指导的学生的论文进行审核;并且管理员还可以方便的将每个学生的论文信息按统一的论文排版本格式导出成word文档等。
- 本论文共分为五大部分,分别是:一、介绍选题背景及意义和相关系统的发展现状;二、介绍数据库技术、面向对象技术和基于B/S结构的WEB程序设计技术;三、对系统进行需求分析并提出解决方案;四、根据解决方案对系统进行设计;五、对毕业论文提交系统进行测试并得到测试结果。
2、资源详情
项目难度:中等难度
适用场景:相关题目的毕业设计
配套论文字数:8565个字24页
包含内容:整套源码+完整毕业论文
3、关键词:
在线提交;审核;导出;Word文档;B/S结构4、毕设简介
提示:以下为毕业论文的简略介绍,项目源码及完整毕业论文下载地址见文末。
1 引言
1.1 选题背景
省略
1.2 国内外研究现状
目前,国内外各大高校大部分都已经有了自己的“毕业生论文提交系统”,而且已经成为广大毕业生与导师的必要工具。但它们大都只能够完成一些基本的功能——例如论文的在线提交、审核情况的查询、检索论文等,而对论文导出时的格式控制并没有考虑,比如怎么把存入到数据库中的论文信息导出到一篇Word文档,怎样让导出到Word的论文保持统一的论文排版格式等。
1.3 课题研究的意义
在线毕业论文提交系统的开发是为了更好的让各个高校充分的利用校园网的软硬件资源,通过B/S系统结构来实现基于Web的在线论文提交,实现了学生毕业论文的无纸化管理,让学生提交论文、查询论文的审核情况更为方便,让老师审核学生论文更加的快捷,并且解决了学生上传时论文格式不统一,但导出后能按统一的Word文档进行排版的问题。
2 理论基础
2.1 数据库技术
Microsoft SQL Server是由Microsoft公司开发的,简称SQL Server,由一系列相互协作的组件构成,能满足最大的Web站点和企业数据处理系统存储和分析数据的需求。其主要特点如下:
第一,SQL Server与Windows服务器紧密集成,而Windows服务器具有很好的安全性,能够排除所有未经授权的非法用户的访问,确保了SQL Server 2000服务器的安全性,符合系统对安全性的要求;
第二,用户可以使用Web浏览器查询存储在SQL Server 数据库中的数据,符合系统远程访问数据库的要求;
第三,容量庞大,每个数据库中可创建多达20万个数据表,数据表中的记录的行数只受服务器硬盘空间的限制;
其使用的SQL(Structured Query Language,结构查询语言)是一个功能强大的数据库语言,通常使用于数据库的通讯。美国国家标准学会ANSI 声称,SQL是关系数据库管理系统的标准语言。SQL语句通常用于完成一些数据库的操作任务,比如在数据库中更新数据,或者从数据库中检索数据等。
2.2 面向对象技术
毕业论文提交系统采用了C#语言,C#语言是一种面向对象的编程语言,它是Visual Studio中的一部分。C#既保持了C++中熟悉的语法,并且还包含了大量的高效代码和面向对象特性。C#语言将在保持C/C++灵活性的基础上为程序员带来更高效的RAD开发方式。C# 是.NET的关键性语言,它是整个.NET平台的基础。它不仅能用于WEB服务程序的开发,并且还能开发强大的系统级程序。
C#本质上是C++的进化产物,使用了包括声明、表达式及操作符在内的许多C++特征,但是 C#还有更多的增强功能,比如类型安全(type-Safe)、事件处理、碎片帐集、代码安全性等。在C#中,除了可以使用许多API,更能使用.NET类。特别地是,我们可以处理COM的自动化和C类型的函数。
Visual Studio.NET是.NET平台下最为强大的开发工具,无论是软件服务商,还是企业应用程序的部署与发布,Visual Studio.NET都可以提供近乎完美的解决方案。Visual Studio.NET提供了包括设计、编码、编译调试、数据库联接操作等基本功能和基于开放架构的服务器组件开发平台、企业开发工具和应用程序重新发布工具以及性能评测报告等高级功能。Visual Studio .NET 2003,它是 Microsoft 的第二代开发工具,用于构建和部署功能强大而安全的连接 Microsoft .NET 的软件。
2.3 B/S架构的WEB程序设计技术
B/S结构(Browser/Server结构)即浏览器和服务器结构。它是随着Internet技术的发展,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过网页浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓三层3-tier结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本(TCO)。以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下数据库应用,相对易于把握、成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN, WAN, Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全 。B/S结构最大的优点就是可以在任何地方进行操作而不用安装任何专门的软件。只要有一台能上网的电脑就能使用,客户端零维护。系统的扩展非常容易,只要能上网,再由系统管理员分配一个用户名和密码,就可以使用了。甚至可以在线申请,通过公司内部的安全认证(如CA证书)后,不需要人的参与,系统可以自动分配给用户一个账号进入系统。
B/S架构下的ASP.NET 不仅仅是 Active Server Page (ASP) 的下一个版本;它还提供了一个统一的 Web 开发模型,其中包括开发人员生成企业级 Web 应用程序所需的各种服务。ASP.NET 的语法在很大程度上与 ASP 兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。可以通过在现有 ASP 应用程序中逐渐添加 ASP.NET 功能,随时增强 ASP 应用程序的功能。
3 系统需求分析
3.1 现行业务系统描述
目前大部分学校都已经有了自己的在线毕业论文提交系统,都能够完成一些最基本的——例如论文的在线提交、审核情况的查询、检索论文等。系统的大致工作流程是:学生进入系统首先注册一个账户,然后用这个账户进行论文信息的提交,提交后便可以检索自己的论文是否提交成功,再过一段时间后还能查询到自己论文的审核情况等。这里值得一提的是,这些系统在提交论文正文的时候采用的大多是FTP的方式,即把整个论文文件按统一的文件格式(如.doc,.pdf等)上传到服务器指定的目录上,要用的时候再从这个服务器上下载下来。
3.2 现行系统存在的主要问题分析
省略
3.3 问题解决方案
根据对上面问题的分析,我们可以提出如下的解决方案:
(1)系统采用B/S的结构,其开发语言不再使用传统的ASP语言,而使用微软公司新一代Active Server Pages脚本语言——ASP.NET,其先编译后执行的程序执行方式很好的提高了系统的执行速度,而其面向对象的程序设计方式也很好的解决了系统的扩展性。
(2)在论文查询这个模块增加了论文信息更新的子模块,当然这项功能只针对该学生的论文在提交后还没有被其指导老师审核的情况,若一旦审核就不能再做修改。
(3)首先我们改变一下目前的系统对论文正文的提交方式,我们先把论文的正文粘贴到系统的一个多行文本框中,其次将其与论文的基本信息一起提交到SQL数据库,然后在导出的时候先将它显示到事先定义好的一个论文格式的网页模板上,最后将这个网页中的所有内容原样导出到Word即可。
4 系统设计
4.1 系统总体架构
在线毕业论文提交系统的基本功能主要有论文提交、论文查询、论文审核及后台数据管理五大部分,其功能模块图如图1所示:
图1 毕业论文提交系统功能模块图
4.2 数据库设计
4.2.1 ER图
由上面的需求分析可建立E-R模型图,如图2所示:
图2 ER图
4.2.2 数据表设计
根据系统功能设计的要求及对上面ER图的实现,本系统一共需要三张表格,下面给出它们的数据表图,及其基本功能说明:
表名:lwtj
功能说明:记录学生的基本信息及论文的信息,表结构如表1所示:
4.3 系统功能模块设计
4.3.1 首页
毕业论文提交系统的首页,实际上是一个本系统的使用帮助页面,实现非常简单,不会用到数据库方面的信息,其界面如图3所示:
图3 首页
由于这个页面只是一个简单的静态页面,这里就不对它的代码进行详细的分析,我们只对页面上乃至以后系统工程每个页面都会用到的两个用户自定义控件加以说明,这两个控件文件分别是用于页面头部的top.ascx和用于页面底部的bottom.ascx,其定义的方法很简单,前面也已经讲过,这里我们来看一下在每个页面中怎么使用它们。
在每个页面中调用top.ascx的语句:
<%@Register TagPrefix="Top" TagName="myTop" Src="top.ascx" %>
//TagPrefix用来标记前缀,定义控件的命名空间;TagName 标记名指向所使用控件的名字(这里指向myTop);Src 指向控件的资源文件 ;
<Top:myTop runat="server"/> //调用为
4.3.2 论文提交
本页面主要实现将学生正确输入到textBox中的学生信息与论文信息提交到SQL数据库中的lwtj表,当用户输入的信息不正确时,页面上为提示“输入信息不正确”的错误信息,并以在每个出错的textbox后面给出错误的提示,若学生重复的提交以前已经提交了的信息,页面就会发生跳转并提示“你不能重复提交你的论文”的提示信息。在检查用户输入的信息是否合法时,用到的是asp.net中的“验证控件”,在判断用户是否已经提交过论文的方法是,在每个学生在单击“提交”按钮后,就先在lwtj表中查询是否已经有了该学生的号,如果有了就表示已经提交过了。
当完整的输入了学生的基本信息及论文信息后,单击“论文提交”页面中的“提交”按钮后,要触发到的submit_Click()函数:
private void submit_Click(object sender, System.EventArgs e)
{if(IsValid==true) //判断页面上所有控件是否都合乎输入要求
{// 定义连接字符串
string SqlConn="data Source=127.0.0.1;Database=lwtjdb;User Id=sa;pwd=";
SqlConnection Conn=new SqlConnection(SqlConn); // 创建一个名为Conn的新连接
Conn.Open(); //打开连接
//下面的插入语句是将所有在前台textbox中输入的值和一个“未审核”的初始值插入到lwtj表 string SqlStr="insert into
lwtj(stuName,stuNo,password,stuZy,stuTel,email,teacherName,teacherNo,…,lwT
ite,lwText,isPass) values('"+this.stuName.Text+"', …………,'"+this.stuNo.Text+"','"+
this.Text.Text.Replace("\r\n" , "<br>").Replace(" "," ")+"','未审核')";
// lwBody.Text.Replace("\r\n" , "<br>").Replace(" "," "):表示将lwBody
内容中的回车换行替换为“<br>”,将空格替换为“ ”一并存入到数据表中
4.3.3 论文查询
本页面主要实现当学生成功提交论文后对自己论文审核情况的查询;若还未审核,学生便可以看到类似论文提交时的那个页面,并显示出学生提交到数据库的信息,学生可以在这里进行相应的编辑,并点击“更新”按钮进行更新;若已经审核,学生登录后看到的将是“已审核”的提示页面.本页主要用到的数据表还是lwtj表,界面如图4所示:
图4 提交查询界面
当用户单击了“查询”按钮后调用下面的查询语句:
…………
string SqlStr="select * from lwtj where stuNo='"+stuNo.Text+"' and password='"+password.Text+"'"; //查询lwtj表上是否有用户刚才输入的账号和密码
SqlCommand Comm=new SqlCommand(SqlStr,Conn);
SqlDataReader dr=Comm.ExecuteReader(); //执行查询
// 下面的if语句判断是否查找到,若找到,则将记录中的每个值赋给一个相应的Session变量
if(dr.Read())
{ dr.Close();
Conn.Close();
Response.Redirect("cxjg.aspx"); //转到查询结果页
}
else
message.Text="输入不正确!";
…………
当用户输入正确的学号和密码后,执行下面的页面事件:
private void Page_Load(object sender, System.EventArgs e)
{
if(IsPostBack==false) //如果是第一次加载本页面,就执行下面的语句
{
…………
string SqlStr="select * from lwtj where isPass='未审核' and stuNo='"+Session["theno"].ToString()+"'"; //查询此学号的论文是否已经审核
SqlCommand Comm=new SqlCommand(SqlStr,Conn);
SqlDataReader dr=Comm.ExecuteReader();
if(dr.Read()) //如果上面的条件成立,则将上个页面保存的所有的Session的值传到相应的textbox中,若不成立,就自动跳转到“已审核”提示页
{
stuName.Text=Session["thename"].ToString();
stuNo.Text=Session["theno"].ToString();
password1.Text=Session["thepwd"].ToString();
…………
}
else
Response.Redirect("isPass.aspx"); // 转到“已审核”提示页面
}
}
当用户单击了页面中的“更新”按钮后调用下面的update_Click()函数:
> private void update_Click(object sender, System.EventArgs e)
> { if(IsValid==true) //判断页面上所有控件是否都合乎输入要求
> {
> ………… string SqlStr="Update lwtj set stuNo='"+stuNo.Tex +"',stuName='"+ stuName.Text+"',password='"+password 1 .Text+"',stuZy='"+stuZy.T
> ext+"',stuTel='"+stuTel.Text+"',email='"+mail. Text+"',teacher
> Name='"+teacherName.Text+"',teacherNo='"+teacherNo.Text+"',lwTitle='"+lwTitle.Text+"',lwBody='"+lwBody.Text.Replace("\r\n"
> , "<br>").Replace(" "," ")+"' where stuNo="+Sessi on["theno"];
> //更新学生的基本信息
> SqlCommand Comm=new SqlCommand(SqlStr,Conn); Comm.ExecuteNonQuery(); //执行UpDate语句
> Conn.Close();
> message.Text="恭喜你!更新成功!"; //提示更新成功
> } else
> {message.Text="发生错误,请按照文本框后的提示信息重新输入正确信息!";} …………
4.3.4 论文审核
老师首先进入“教师”登录页面,当输入正确的teacherNo与teacherPassword后,进入“教师审核论文页面”(界面如图5),在这个页面主要显示的是该老师所带的所以学生的学生及论文信息,老师可以在这里审阅学生的论文,若合格,可点出“审核”按钮进行审核,还可以点击“导出”按钮导出学生的论文信息到word文档,该页面上方还有个“教师修改个人信息”的功能选项,在老师首次登录后使用它来修改自己的密码及个人信息(界面如图6)。
图5 老师审核论文界面
图6 教师信息修改界面
老师登录的主要源码如下:
public void jsdl_Click(object sender, System.EventArgs e)
{
…………
string SqlStr="select * from teacher where teacherNo='"+teacherNo.Text+"' and
teacherpassword='"+password.Text+"'"; //查询teacher中是否有该老师的信息
SqlCommand Comm=new SqlCommand(SqlStr,Conn);
SqlDataReader dr=Comm.ExecuteReader(); 执行查询
if (dr.Read()) //如查询到,将该教师的工号与姓名存分别暂存到Session变量中
{
Session["teano"]=teacherNo.Text;
Session["teaname"]=dr["teacherName"].ToString();
Response.Redirect("lwsh.aspx"); //跳转到论文审核主页面
}
else
message.Text="输入不正确!"; //密码不正确的提示
…………
老师成功登录后,下面是datagrid中的Click_Grid()事件:
public void Click_Grid(object sender, DataGridCommandEventArgs E)
{
if(E.CommandName=="daochu") //判断是否单击了“导出”按钮
{
//前面利用DataKeyField=stuNo设置了学号关键字段,所以下面的语句可以获取
某行的stuNo,并把结果传给Session["stuno"]
Session["stuno"]=dg1.DataKeys[(int)E.Item.ItemIndex];
Response.Redirect("tealwdc.aspx"); //转到教师导出论文的页面
}
Else //若单击了“审核”按钮
{
…………
string SqlUpDate="Update lwtj Set isPass='已审核'
where stuNo="+dg1.DataKeys[(int)E.Item.ItemIndex]; //只更新当前行
SqlCommand Comm=new SqlCommand(SqlUpDate,Conn);
Comm.ExecuteNonQuery(); //执行更新语句
BindData(); //重新调用绑定数据函数
}
}
老师导出论文的代码与后面管理员导出论文的代码差不多,这里就不给出,后面将有详细的介绍。
4.3.5 论文导出
管理员页面所实现的主要功能是对学生及论文信息的管理,以及论文的导出,还有对老师基本信息的初始添加(界面如图8)和对老师信息的管理,其中在登录管理员首页的时候有个管理员的身份验证,若输入正确才能登录到管理平台,进入这个平台后便会看到“学生信息及论文信息的管理”( 界面如图7)和“老师信息管理”这两个子功能,我们可以单击它进行相应的管理,下分别介绍各个页面的界面及主要实现价码。
图7 学生信息管理界面
图8 添加老师信息界面
管理登录,当用户单击登录按钮的时候调用gldl_Click()处理方法,用来进行管理员的身份验证:如果用户存在,则让用户进入管理页面;如果用户不存在,则给出错误提示信息。
管理员登录的源码与教师登录的源码差不多一样,仅仅是它们所要用到的数据表不同而已,这里不再给出管理员登录的源码。
学生信息管理,Sort_Grid()方法的作用是,当用户单击DataGrid控件中的stuNo关键字后,按这些关键字进行排序,以方便管理的查询。
public void Sort_Grid(object sender, DataGridSortCommandEventArgs E)
{
…………
//按学号升弃排序,并将结果绑定到DataSet控件上
string SqlStr="select * from lwtj order by stuNo";
SqlDataAdapter da=new SqlDataAdapter(SqlStr,Conn);
DataSet ds=new DataSet(); //创建DataSet控件ds
da.Fill(ds,"lwtj"); //调用Fill方法将表lwtj放在DataSetc对象中
dg1.DataSource=ds.Tables["lwtj"].DefaultView;
dg1.DataBind(); //绑定数据
}
ChangePage()方法,实现分页的功能用:
public void ChangePage(object sender,DataGridPageChangedEventArgs E)
{
//利用E.NewPageIndex获得新的页数
dg1.CurrentPageIndex=E.NewPageIndex;
BindData();//重新绑定数据
}
Click_Grid()这个方法用来获得DataGrid控件中的Button事件,首先判断用户单击的是那个按钮,若单击的是“删除”,则删除当前行的信息。若是“导出”,则将学生及论文信息到一个word文档。
public void Click_Grid(object sender, DataGridCommandEventArgs E)
{ if (E.CommandName=="daochu") //判断是否单击了“导出”按钮
{ Session["stuno"]=dg1.DataKeys[(int)E.Item.ItemIndex]; //取当前行的学号,并存到Session["stuno"]中
Response.Redirect("adminlwdc.aspx"); //跳转到管理员导出论文页面
}
else if(E.CommandName=="delete") //是否单击了“删除”按钮,若是,先建立数据库连接,然后执行删除操作
{ …………
string Sqldel="delete from lwtj
where stuNo="+dg1.DataKeys[(int)E.Item.ItemIndex]; //定义删除语句
SqlCommand Comm=new SqlCommand(Sqldel,Conn);
Comm.ExecuteNonQuery(); //执行
BindData(); //重新绑定数据 …………
当管理员进入了添加教师页面并单击了“添加”按钮后,调用下面的处理方法,将新的教师信息入库:
private void submit_Click(object sender, System.EventArgs e)
{
…………
//定义插入教师信息的Insert语句
StringSqlStr="insert into
teacher(teacherNo,teacherName,teacherPassword,teacherZc,teacherTel,teacherEmail)
values('"+this.teacherNo.Text+"','"+this.teacherName.Text+"','"+this.password1.Text+"','"+this.teacherZc.Text+"','"+this.teacherTel.Text+"','"+this.email.Text+"')";
SqlCommand Comm=new SqlCommand(SqlStr,Conn);
Comm.ExecuteNonQuery(); //执行insert语句
Conn.Close(); //关闭连接
message.Text="恭喜你!添加成功!若不再继续添加,请单击<返回上页>返回!";
}
删除教师信息的实现方法与删除学生及论文信息的方法一样,前面已经介绍过,这里不在给出相关代码。
导出学生论文信息到word文档的主要实现原理是:当用户单击 “导出”按钮后,系统转到导出论文的页面,建立数据库的连接,并把数据库中合乎条件的记录的值取出传给相应的label,而前台的Html页中已经以论文模板的形式设置好了各个label的位置,最后调用一个将html页转换成word文档的方法即可。
private void Page_Load(object sender,System.EventArgs e)
{…………
BindData(); //调用数据绑定函数
Response.Charset="GB2312";//设置输出流为简体中文 Response.ContentEncoding=System.Text.Encoding.GetEncoding("GB2312");//设置输出文件类型为 word类型
Response.ContentType="application/ms-word "; //用来保存为word文件的文件名
Response.AddHeader( "Content-Disposition","inline;filename="+stuNo.Text+”.doc"); //"filename="+stuNo.Text+”.doc",表示以学号为文件名保存为word文档
}
BindData()方法,它首先连接到lwtj表,然后查询出用户要导出的学生的信息,并把这些信息的值传给对应的Label,主要代码如下:
private void BindData()
{
//定义连接字符串,建立数据库连接
string SqlConn="data Source=127.0.0.1;Database=lwtjdb;User Id=sa;pwd=";
SqlConnection Conn=new SqlConnection(SqlConn);
Conn.Open();
//定义查询语句
string SqlStr="select * from lwtj where stuNo="+Session["stuno"];
SqlCommand Comm=new SqlCommand(SqlStr,Conn);
SqlDataReader dr=Comm.ExecuteReader(); //执行
//如果查找到,将记录中的各个值赋相应的给label
if (dr.Read())
{ stuno.Text=dr["stuNo"].ToString();
stuname.Text=dr["stuName"].ToString();
stuzy.Text=dr["stuZy"].ToString();
teaname.Text=dr["teacherName"].ToString();
lwtitle.Text=dr["lwTitle"].ToString();
lwbody.Text=dr["lwBody"].ToString();
…………
}
}
5 系统实施及测试
5.1 实施概况
省略
5.2 测试方案
(1)打开IE浏览器6.0,在地址栏中输:http://localhost/lwen/index ,进入系统首页;
(2)打开“提交论文”页面,在里面输入信息,单击提交看是否成功,若不成功看是否有相应的错误提示,错误提示如图9所示;
图9 提交错误信息提示图
(3)在 “论文查询”页面输入学号及密码,查询刚才所提交的内容,看是否能进入“查询结果”页面;
(4)在“查询结果”页面(如图10)对学生及论文的信息做相应的修改,然后点击更新,看是否更新成功;若不成功,看是否有相应的错误提示;
图10 查询结果页面
(5)正确的输入教师的工号及密码,进入“审核论文”页面,在页面中首先点击“教师个人信息修改”,进入“信息修改”页面,更改教师的密码,看是否成功,若成功,点击“返回上页”按钮返回“审核论文”页面;
(6)在“审核论文”页面中单击一个学生的论文题目,查看论文的全文(界面如图11),然后“返回”,点击“审核”按钮对该学生的论文进行审核;看该学生的论文审核状态是否为“已审核”;
图11 查看论文信息页面
(7)输入管理员账号及密码进入“管理主页面”,选择“学生及论文信息管理”,进入该页面,然后找到一条错误的信息,单击“删除”按钮,看是否成功删除,单击学号关键字,看能否实现按学号排序;单击“下页”看能否实现分页,管理登录密码错误提示页面如图12所示;
图12 管理员登录出错页面
(8)在学生管理页面单击“导出”按钮,导出一个学生的论文,导出时选择导出位置的界面如图13;
图13 导出位置选择
(9)单击“老师信息管理”,进入“教师管理”页面,单击“添加教师信息”,进入“添加教师”页面,输入教师的基本信息,单击“添加”按钮看能否添加成功;若成功单击“返回上页”按钮返回“教师管理”页面,看刚才添加的教师信息是否已经显示到列表中,单击“删除”按钮,删除刚才添加的教师信息,看是否成功;
(10)测试完成。
5.3 测试结果
在线毕业论文提交系统的测试相当成功,它完成了系统所要求实现的所有功能,并有一定的冗错性,即当用户对系统进行了非法操作后,系统能自动给予相应的错误处理方法,并能友好的对用户进行提示;系统的安全性也有比较好,各种用户都只能在自己的权限范围内操作,不能越权操作;另外系统的界面较为简洁,用户操作起来也很方便。
结 论
在线毕业论文提交系统解决了在线论文提交及论文导出成统一Word文档格式等问题,同时系统可以实现对学生提交后的论文进行查询,若其论文还未被老师审核学生还可以进行在线修改,老师对论文的审核也给予了一定的权限限制,即每个教师只能审核自己所带学生的论文,不能进行删除等操作,而管理员的权限较大,他能够删除、导出学生的论文信息,并能添加删除老师信息等。
通过总体的测试和试用
省略
参考文献
[1] 奥尼恩,施诺.ASP.NET基础教程-C#案例版[M].北京:清华大学出版社,2003。
[2] 江广顺.ASP.NET+SQL SERVER热门网络应用开发详解[M].北京:人民邮电出版社,2006。
[3] 微软公司.面向.NET的WEB应用程序设计[M].北京:高等教育出版,2004。
[4] 金林樵.网络数据库技术及应用[M].北京:机械工业出版社,2002。
[5] 陈娴,刘志宝.ASP.NET项目开发实践(第2版) [M].北京:清华大学出版社,2005。
[6] 郑人杰,殷人昆.实用软件工程第二版[M].北京:清华大学出版社,2004。
[7] 尚俊杰.asp.net程序设计[M].北京:清华大学出版社,2004。
[8] 张俊,乔宇峰.C#程序设计入门[M].吉林:吉林电子出版社,2005。
[9] 微软公司.ADO.NET程序设计[M].北京:高等教育出版社,2004。
[10] 金雪云.ASP.NET简明教程(C#篇) [M] .北京:清华大学出版社,2006。
致 谢
省略
5、资源下载
本项目源码及完整论文如下,有需要的朋友可以点击进行下载。如果链接失效可点击下方卡片扫码自助下载。
序号 | 毕业设计全套资源(点击下载) |
---|---|
本项目源码 | 基于C#+asp.net+sqlserver在线提交系统设计与实现(源码+文档)C#.net_BS架构_在线提交系统.zip |