基于asp+access的网上考试系统设计与实现(毕业论文+程序源码)

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

文章目录:

  • 基于asp+access的网上考试系统设计与实现(毕业论文+程序源码)
    • 1、项目简介
    • 2、资源详情
    • 3、关键词:
    • 4、毕设简介
    • 5、资源下载

1、项目简介

  1. 利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,基于B/S模式研究开发了集管理、考试于一体的在线考试系统这一ASP应用程序。它将功能强大的后台管理与高效灵活的前端考试相融合,具有高度的可扩展性,被授权的考试用户不管身处何地,使用网络浏览器,就可通过网络登录考试系统,参加学校组织的考试、培训和学习。在线考试系统不仅可应用于局域网,也可应用于互联网,不仅可以独立构建,也可同用户现有的Intranet/Internet集成。使用系统提供的灵活易用的数据接口,可快速将用户已有的用户资料、题库、试卷等资源导入系统数据库,利用在线考试系统强大的数据整合能力与全面的管理功能,迅速开始考试及管理工作。

2、资源详情

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


3、关键词:

在线考试;用户管理;题库管理


4、毕设简介

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

第一章 引 言
§1.1 引 论
省略

§1.2 概 论
此在线考试系统基于微软公司Windows操作系统、IIS与ACCESS数据库平台构建,微软公司产品优异的性能为在线考试系统提供了高效稳定的运行环境,使在线考试系统无论在运行速度、易用性还是在数据吞吐能力方面都表现卓越。

在线测试系统充分利用B/S结构的特点,实现了将考试系统移植到INTERNET的功能,该系统的优势在于极大的简化了老师出题的工作和学生考试的选题,做到了出题的多样性。

题库管理系统的课题目标是要让老师轻松的实现对试题的添加、删除、修改以及查询等功能。在此基础上增加了用户管理、考试章节管理、新闻管理等功能。

该系统是一个基于WEB的B/S模式在线考试题库管理系统,基本上可以满足学校及现代信息化企业的内部考试要求,可以实现学校或企业的低成本投入,高效率办公的宗旨。

§1.3 背 景
省略

第二章 系统分析
在线考试管理模块子系统是为了帮助老师利用计算机,方便快速的对考试题库、学生信息进行管理、输入、输出、查询的所需操作,使散乱的试题库及学生信息能够具体化、直观化、合理化,同时系统还应包括考试章节管理、新闻管理等功能。

§2.1 系统功能
§2.1.1 基本功能
该系统是方便管理员进行试题、用户资料的录入、修改、删除以及信息发布的ASP应用程序。它应该具有开放性、方便性和灵活性。管理员不仅可以轻松地向题库添加、修改和查询试题,而且还可以自动新增章节并建立相应的数据,以及管理学生的资料等。

§2.1.2 功能表

表2-1 系统功能表

§2.1.3 功能描述图

图2-1 系统功能描述图
§2.2 具体需求
§2.2.1 功能需求
既然是网上在线考试系统的管理子系统,就应该能有以下几点功能:

  1. 当添加的学生信息存入数据库后,管理员能够查看这些学生的信息(包括学生学号、姓名、密码、所在学院、所在班级、权限等),能够删除错误的学生信息;也可以修改这些学生的基本信息。
  2. 管理员可以添加和删除考试的章节。
  3. 题库管理部分:在这里管理员可以按考试章节或者题型对每一道试题的详细情况进行查阅,如果试题本身有误或者是试题过于陈旧,管理员可以对试题进行删除、修改。以便在学生提交考试试卷后系统自动判分时不会出现错误。若管理员需要添加新的试题已丰富现有的试题数据库可以按添加题目按钮进行具体操作。由于题库太大,管理员可以通过输入关键字搜索出想要的试题进行修改删除等操作。
  4. 审核部分:审核人登陆后会得到系统提示,以便审核新闻和考试计划,对于审核通过的新闻和考试计划,用户才能浏览;没有通过审核的会自动从数据库中删除。
  5. 新闻发布部分:管理员可以发布新闻以及考试信息,学生可以登陆后查看。
    由于该考试系统不提供注册功能,所有的学生信息都是管理员录入的,管理员向学生提供学号以及初始密码后,学生可以登陆修改密码,但不能自己修改信息。

§2.2.2 系统性能需求
为了保证系统能够长期、安全、稳定、可靠、高效的运行,系统应该满足以下的性能需求:
系统处理的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足学校对学生信息处理的需求。

系统的开放性和系统的可扩充性:系统在开发过程中,应该充分考虑以后的可扩充性。例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。

系统的易用性和易维护性:要实现这一点,就要求系统应该尽量使用用户熟悉的术语和中文信息的界面;针对用户可能出现的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。

系统的数据要求:
1.数据录入和处理的准确性和实时性。
2.数据的一致性与完整性。
3.数据的共享与独立性。

第三章 系统概要设计
§3.1 系统功能框架设计
开发这个系统的目的就是帮助老师提高工作效率,实现考试信息管理以及考试流程的系统化、规范化和自动化。由于该系统是通过网络运行的,而网络运用比较多的就是浏览器,所以选择了B/S模式,方便了学生同时也方便了管理员。系统最终实现的主要功能如下:

  1. 题库管理设置部分:包括管理员对题库的增加、删除、修改和查询操作。
  2. 用户管理部分:由管理员浏览用户信息库里面的所有信息,并提供管理员添加用户、删除和修改用户信息的功能。
  3. 考试章节管理:管理员管理考试章节的信息,可以进行添加、修改、删除等操作。
  4. 密码修改部分:系统不提供注册功能,用户资料都是由管理员通过用户管理进行录入与修改的,管理员向用户发放初始密码与帐号,用户应及时在密码修改窗口更改密码,以便安全与下一次的登陆。
  5. 新闻发布与浏览模块:允许管理员发布考试方面的信息,待审核后在主页面显示标题,用户登陆后可以查看新闻的具体内容。

§3.2 系统的数据库概要设计
数据库设计:一个稳定、安全的系统和它的数据结构和数据库系统有很大的关系。在设计的过程中选择了Access做为我们的数据库系统,这主要考虑到了,多用户管理和访问速度的问题。在Access系统中采用了多线程的技术,而不是使用进程为资源的分配单位,所以大大的提高了系统的处理能力和访问速度。

根据系统功能设计的要求以及功能模块的划分,数据库需要的存储的信息如下:
用户基本信息表:要求显示学号、姓名、密码、所在学院、所在班级、权限。
题库表:所属章节、题型、题目、选项一、选项二、选项三、选项四、答案、选题标记等试题信息。
考试成绩信息:考生的考试信息,考生学号、姓名等。
管理新闻:新闻详细信息、查看新闻记录等。

§3.3 系统结构图
根据需求分析,在线考试系统的结构图如下:

图3-1 在线考试系统结构图

第四章 系统详细设计
§4.1 数据库的详细设计
在上一章的设计分析已经提到了数据库文件的大概的设计模型。即需要建七个表:学院信息表、题库表、新闻信息表、新闻查看记录表、考试章节信息表、用户信息表、信息审核表。下面,根据程序的需要,将把这个数据库文件一步一步的实现出来:

  1. 首先确定数据库文件名,在此程序中,我用的文件名为exam.mdb.
  2. 数据库中所创建的表如图4-1所示。共有七个表:学院信息表、题库表、新闻信息表、新闻查看记录表、考试章节信息表、用户信息表、信息审核表。

图4-1 数据库中所创建的表
(1)学院信息表(department)
该表存放的是学院的名称等信息。字段department代表学院的名称,类型为文本,字段大小50,设为主键。
(2)题库表(exam_database)
根据前面的分析,在此表中应该以下几个字段是必不可少的:
题目序号、所在章节、所属题型、题目、选项1、选项2、选项3、选项4、答案、选题标记。
以下几个字段的设计是为了功能的扩展:
1.为了方便查询方便和排序,我将题目序号设置为主键。
2.为了便于填加和维护试题的题目,因此就有了题目题干这个内容。
3.选项1、选项2、选项3、选项4、答案如果有错误今后可以更正选项内容。
(3)新闻信息表(exam_news)
包括新闻编号、新闻标题、新闻正文、发表时间、发表人、审核人、审核时间等信息。
(4)用户浏览新闻记录表(exam_news_log)
此表的作用主要是记录已查看新闻的人员、以及查看的新闻的编号等信息。
(5)考试章节信息表(exam_subject)
这张表主要存放教师预设的考试章节名称,如果表中没有的章节,教师可以通过章节管理页面添加新的考试章节,并将数据录入此表。
(6)用户信息表(Tea_Stu_info)
存放用户学号(帐号)、姓名、密码、所在学院、所在班级、权限标记等信息。权限分为教师管理员和普通考生两种。
1.管理员:在此系统中可以有若干个管理员,即系统管理员。他们具有一般用户所没有的权限,即具有管理用户、试题以及试卷等内容的权力。在数据库中和学生的表放在一起,只不过学生的Spower值为空,而管理员为A,而那些可以修改数据库的页面就是通过识别权限进入的。
2.一般用户:主要是指学校的学生。
(7)消息审核表(waitforpass)
此表主要是记录需要审核的是新闻还是考试计划以及它们的编号、审核人、审核意见、审核时间、审核情况等信息。

§4.2 功能模块详细设计
数据库设计好之后,接下来就是文件的设计。文件的设计过程其实就是一个宏观的模块化过程,这一过程是很重要的。很好的完成了文件设计,那么在之后的程序开发中将会有一个清晰的思路。

根据设计前对此程序的项目分析和项目设计,明确了本程序的功能以及目的。我决定创建以下文件夹以及文件。
images:该文件夹用于存放系统中所有的图片信息。
框架页:admindefault.asp、default.asp、logindefault.asp。
在admindefault.asp 框架页中adminleftframe.asp、leftmiddleframe.asp、adminlefttopframe.asp、righttopframe.asp、admintoolbar.asp。
在default.asp 框架页中leftframe.asp、leftmiddleframe.asp、lefttopframe.asp、righttopframe.asp、toolbar.asp。
在logindefault.asp 框架页中loginleftframe.asp、righttopframe.asp、logintoolbar.asp。

题库管理模块:
admindatabase.asp:题库管理页面,管理员可以添加、删除、修改和查询试题。
admindatabaseadd.asp:添加试题的页面。
admindatabasedel.asp:删除试题的代码页面。
admindatabaseedit.asp:编辑试题的页面,可以修改试题的信息。
admindatabasesave.asp:保存添加的试题。
admindatabasesaveedit.asp:保存对试题的修改。

用户管理模块:
adminstudent.asp:用户管理页面,管理员可以添加、删除、修改和查询用户的所有信息。
adminstudentdel.asp:用户删除的代码页面。
adminstudentsave.asp:保存添加的用户。
adminstudentsaveedit.asp:保存对用户资料的修改。

章节管理模块:
adminsubject.asp:考试章节管理页面,管理员可以添加新的考试章节,也可以删除和修改已有的考试章节。
adminsubjectdel.asp:章节删除页面。
adminsubjectsave.asp:保存添加的新考试章节。
adminsubjectsaveedit.asp:保存对已有章节的修改。
密码修改模块:
editpwd.asp:密码修改页面。

新闻发布及浏览模块:
news.asp:新闻主页面。
postnews.asp:管理员发表新闻的主页面,可以编写标题、正文、有效期以及审核人。
savenews.asp:发表人发表完新闻后的页面,等待审核。
previewnews.asp:发表人预览新闻的页面。
viewnews.asp:用户浏览新闻的页面。
新闻和考试计划审核模块:
passit.asp:审核人审批新闻和考试计划的页面。审核人可以看到新闻和考试计划的所有信息,并填写审批意见以及选择是否同意发表。
savepass.asp:审核人成功审批新闻和考试计划后的保存页面,这时同意发布的新闻和考试计划都可见了。
unpass.asp:管理员查看还未审批的的考试计划,以便及时通知审核人审批。
unpassit.asp:作废考试计划和新闻的页面。

§4.2.1 题库管理模块
(1)管理员登陆后点击“题库管理”就进入了题库管理主界面(admindatabase.asp),主页面如图4-2所示:

图4-2 题库管理主界面
在题库管理界面中管理员可以按选择章节和选择题型进行试题的浏览、添加、查询;管理员可以通过操作按钮进入试题修改界面进行试题的修改;还可以选择试题前面的复选框或者点击全选进行试题的删除。
为了方便教师将不再需要的试题全部删除,加了个全选复选框。为全选复选框所编写的函数及代码如下所示:

<script language="javascript">
function CheckAll(form)
{for (var i=0;i<form.elements.length;i++)//获取当前表单里一共有多少个复选框,获取的值是整数类型与i作比较,如果小于它则执行循环语句的内容{var e = form.elements[i];//声明一个变量记录循环到哪个复选框if (e.name!= 'chkall')//对复选框名称不为chkall的复选框执行下面一行的命令e.checked = form.chkall.checked;//让所有复选框的状态都等于表单中全选复选框chkall的状态}
}
<input type="checkbox" name="chkall" value="on" onClick="CheckAll(this.form)">//复选框的onclick事件是执行CheckAll函数

(2)教师添加题目时必须选择试题所属章节以及试题所属题型才能进行试题的添加,否则会弹出警告框,该功能实现代码如下所示:

function addit(myform)
{if (document.viewaddform.subjectview.value!="" & document.viewaddform.typeadd.value!="")//判断章节选择和题型选择两个下拉菜单的值不能为空{result="添加<"+document.viewaddform.typeadd.value+">题目到<"+document.viewaddform.subjectview.value+">题库?"if (confirm(result))//弹出确认/取消对话框{myform.action="admindatabaseadd.asp";//确认后执行admindatabaseadd.asp的代码myform.submit();}}
else
alert("请首先选择章节和题目类型!")//弹出警告框
}

按照以上的操作进入添加试题界面(admindatabaseadd.asp),添加试题主页面如图4-3所示:

图4-3 试题的添加界面
管理员先选择试题所属的章节以及所要录入的试题的题型进入试题录入窗口,然后按要求填写好试题的题目、选项以及答案后保存即可。如果输入不合法,则系统给出相应的提示或警告,以待更正。实现添加新试题时判断题目、选项、答案不能为空的代码如下所示:

function submitit()
{if (addform.question.value=="")//判断标题文本框的值是否为空{alert("标题不能为空!");//如果标题文本框的值为空则弹出警告框addform.question.focus();//将焦点移到标题文本框return false;}else {if (addform.text1){if (addform.text1.value=="" ){alert("选项不能为空!");addform.text1.focus();return false;}//判断选项是否为空}elseanswer=-1;for (i=0;i<addform.answer.length;i++){if (addform.answer[i].checked ){answer=i;}}//用一个循环判断选择题答案的值if (answer==-1){alert("答案不能为空!");return false;}elsereturn true;//判断题答案是否为空}
}

(3)管理员进行试题的删除是执行admindatabasedel.asp页面的代码实现的,代码如下所示:

dim i
dim j//声明两个变量
id=request("id")//向服务器发送复选框id的值
id=split(id,",")
i=ubound(id)// 返回数组的指示维度的最大可用下标
for j=0 to isql="select * from exam_database where id="& cint(id(j))set rs=server.createobject("adodb.recordset")rs.open sql,conn,3,2//建立数据库连接,连接表exam_databaseif not rs.eof then//如果不是表的结尾则继续执行代码rs.delete//删除所选复选框的试题数据rs.update//更新数据库rs.close//关闭数据库连接end if
next
response.redirect "admindatabase.asp"//返回题库管理主界面

(4)管理员可以对试题进行查看详细信息和编辑的操作,点击修改按钮就进入试题的编辑页面(admindatabaseedit.asp)。试题编辑界面如图4-4所示:

图4-4 试题编辑界面
管理员可以对试题的标题、选项、答案进行修改。如果修改的内容不合法,系统会弹出警告框提示管理员重新修改。
(5)管理员添加好新的试题后保存,会执行保存试题页面(admindatabasesave.asp)的代码进行保存,将试题信息存入数据库exam_database,实现保存功能的代码如下所示:

subjectview=request("subjectview")
typeadd=request("typeadd")//向服务器发送章节选择和题型选择下拉菜单的值
if typeadd="单选题" thensql="select * from exam_database"set rs=server.createobject("adodb.recordset")rs.open sql,conn,3,2//建立数据库连接,连接表exam_databasers.addnew//新增一行rs("subject")=subjectviewrs("type")=typeaddrs("question")=request("question")rs("text1")=request("text1")rs("text2")=request("text2")rs("text3")=request("text3")rs("text4")=request("text4")rs("answer")=request("answer")rs("mark")=0//为每个字段写入新数据rs.update//更新数据库topage="admindatabaseadd.asp?subjectview=" & subjectview & "&typeadd=" & typeadd & "&str=添加成功!请继续添加题目!"response.redirect topage
end if

(6)由于题库很大,要迅速找到一道试题进行删除、修改等操作由题库查询功能实现,为页面中的查询按钮指定了一个searchit函数,函数代码如下:

function searchit(myform)
{if (document.viewaddform.subjectview.value!="")subject=document.viewaddform.subjectview.value;
elsesubject="所有";
if (document.viewaddform.typeadd.value!="")type=document.viewaddform.typeadd.value;
elsetype="所有";
if (document.viewaddform.mykey.value!="--关键字--")if (document.viewaddform.mykey.value!="")mykey=document.viewaddform.mykey.value;elsealert("请输入搜索的关键字!");
elsealert("请输入搜索的关键字");
result="在<"+subject+">题库的<"+type+">题型中搜索题目关键字<"+mykey+">?"
if (confirm(result)){myform.action="admindatabase.asp";myform.submit();}
}

以上代码主要功能是弹出一个查询范围对话框,管理员确定后执行页面中的查询功能代码以实现系统的查询功能。实现查询功能的代码代码如下:

<%
subjectview=request("subjectview")
typeadd=request("typeadd")
mykey=request("mykey")
if subjectview="--选择章节--" or subjectview="" thensubjectview="%"
end if
if typeadd="--题型--" or typeadd="" thentypeadd="%"
end if
if mykey= "--关键字--" or mykey="" thenmykey="%"
end if
sql="select * from exam_database where subject like '"& subjectview &"' and type like '"& typeadd &"' and question like '%"&mykey&"%'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2

§4.2.2 用户管理模块
(1)管理员进入用户管理会看到如图4-5所示的界面,该页面文件为adminstudent.asp:

图4-5 用户管理主界面
管理员可在此添加新用户,查看学生的详细信息,选择删除学生用户,在复选框中选择要将被删除的学生,点击删除按钮操作将成功,数据库中记录的信息将被完全删除。
(2)管理员选择需要删除的用户前面的复选框或者选择全选复选框,进行删除操作。用户删除功能的实现由页面adminstudentdel.asp执行。代码与题库管理的试题删除类似,这里就不在作叙述了。
(3)管理员在添加用户资料的文本框中输入好用户的所有信息后就能进行用户保存添加了。如果用户资料输入不合法,系统会相应给出警告提示,方便管理员更改。保存新添加的用户资料功能由页面adminstudentsave.asp执行,实现代码如下所示:

userid=trim(request("userid"))//去除输入值前面的空格然后赋值
username=trim(request("username"))
pwd=trim(request("pwd"))
department=request("departmentchoose")
cls=trim(request("cls"))
spower=request("spowerchoose")
sql="select * from Tea_Stu_info"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2//建立数据库表Tea_Stu_info的连接
rs.addnew//新增一行
rs("userid")=userid
rs("username")=username
rs("pwd")=pwd
rs("department")=department
rs("cls")=cls
rs("spower")=spower//为每个字段写入数据
rs.update//更新表
response.redirect "adminstudent.asp"//返回用户管理主界面

(4)管理员可以直接在用户管理界面修改用户的资料,用户的资料显示全是可编辑的,这样方便管理员的操作。修改好用户资料后就可以保存了。保存被编辑的用户资料功能由页面adminstudentsaveedit.asp实现,执行代码如下所示:

<%
userid=request("userid")
userid=split(userid,",")
i=ubound(userid)
sql="select * from Tea_Stu_info"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
for j=0 to i
rs("userid")=trim(userid(j))
rs.update
rs.movenext
next
%>

(5)管理员可以通过输入关键字和选择查询条件进行用户信息的查询,实现查询功能的代码类似于题库查询,这里就不再作说明了。
§4.2.3 章节管理模块
(1)教师可以对现有的考试章节进行管理,可以添加新的考试章节,也可以删除不再需要的考试章节。章节管理页面(adminsubject.asp)如图4-6所示:

图4-6 考试章节管理界面
考试章节管理主页面,管理员可以添加新的考试章节,也可以删除和修改已有的考试章节。进入后显示所有的考试章节名称。添加新考试章节时系统能判断添加章节的合法性,实现合法性判断代码如下所示:

function check_empty(text) {return (text.length > 0);
}
function check() {validity = true;
if (!check_empty(document.adminsubjectadd.exam_subject.value))
{ validity = false; alert('考试章节不能为空!'); }
return validity;
}

(2)对于不再需要的考试章节,教师可以选取前面的复选框进行删除操作。实现章节的删除功能是由页面adminsubjectdel.asp的代码执行的,如下所示:

dim i
dim j
id=request("id")
'response.write id
id=split(id,",")
i=ubound(id)
'response.write i
for j=0 to isql="select * from exam_subject where id="& cint(id(j))set rs=server.createobject("adodb.recordset")rs.open sql,conn,3,2if not rs.eof thenrs.deleters.updaters.closeend if
next
response.redirect "adminsubject.asp"

(3)教师正确添加好考试章节后进行保存,保存新添加的考试章节功能由页面adminsubjectsave.asp执行,实现功能代码如下所示:

<%
exam_subject=trim(request("exam_subject"))
sql="select * from exam_subject"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
rs.addnew
rs("exam_subject")=exam_subject
rs.update
response.redirect "adminsubject.asp"
%>

§4.2.4 密码修改模块
普通考生和管理员使用的时同一个密码修改页面,输入原有密码、新密码、验证密码后点击保存按钮,数据库中将会把新的密码记录,便于用户下一次登陆考试系统进行正确的身份验证。密码修改主界面如图4-7所示:

图4-7 密码修改界面
实现密码修改功能的代码如下所示:

<script language="javascript">
function submitit()
{var myform=document.editpwd;if (myform.oldpwd.value==""){alert("原有密码不能为空!");return false;//判断原有密码文本框的值为空,弹出警告框}else{if (myform.newpwd.value==""){alert("新密码不能为空!");return false;}else{if (myform.confirmpwd.value==""){alert("验证密码不能为空!");return false;}else{if (myform.newpwd.value!=myform.confirmpwd.value){alert("新设密码和验证密码不相符!");return false;//判断新密码与验证密码不相符,弹出警告框}else{return true;}}}}
}
</script>
<%
if request("newpwd")<>"" then
sql="select * from Tea_Stu_info where userid='"& request.cookies("userid")&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2//建立数据库表Tea_Stu_info的连接if rs("pwd")<>request("oldpwd") thenresponse.redirect "editpwd.asp?error=wrong"elsers("pwd")=request("newpwd")rs.updateresponse.redirect "editpwd.asp?error=ok"end if
end if
%>

§4.2.5 新闻发布及浏览模块
(1)在系统的登陆界面就能看到新闻列表,如要查看新闻的详细内容需登陆后点击相应的新闻标题进入查看。新闻列表页面(news.asp)如图4-8所示:

图4-8 新闻列表界面
用户必须登陆后才能查看具体的新闻内容,新闻列表按发布日期从新到旧依次显示,如有审核消息时,会在新闻列表下面显示系统提示。实现系统提示功能的代码如下所示:

<%
if request.cookies("userid")<>"" then
rs.close
sql="select * from waitforpass where havepass=0 and passuserid='"& request.cookies("userid")&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2//建立数据库表waitforpass的连接
if not rs.eof then
%>
<%
do while not rs.eof
%><tr><td width="100%" height="30"><img border="0" src="data:images/blue.gif"> 有一项<font color="#ff0000"><%=rs("objname")%></font>需要您审批。<a href="passit.asp?id=<%=rs("id")%>&objid=<%=rs("objid")%>">现在审批</a></td></tr><%
rs.movenext
loop
%>

(2)管理员可以发布新闻供用户浏览。发布新闻的主界面(postnews.asp)如图4-9所示:

图4-9 发布新闻的主界面
管理员可以编写新闻的标题、正文、有效期、选择审核人,系统会自动判断输入的合法性并给出相应警告提示,然后提交,待审核。

(3)管理员提交新闻后会出现如图4-10所示的发布新闻成功待审核的页面

图4-10 新闻发表成功待审核页面
当管理员发表了新的新闻后,系统自动生成一个新闻编号,并将新闻的详细内容保存到exam_news表中,将审核资料保存到表waitforpass中等待审核。实现生成随机新闻编号并保存新闻的功能的代码如下所示:

<%
randomize//初始代随机数种子
newsid=100000000+fix(100000000*Rnd)//生成一个随机的新闻编号
title=request("title")
text=request("text")
youxq=request("youxq")
shenhr=request("shenhr")
sql="select * from exam_news"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
rs.addnew
rs("newsid")=newsid
rs("title")=title
rs("text")=text
rs("youxq")=youxq
rs("fabsj")=date()
rs("fabr")=request.cookies("username")
rs.update
rs.close//将新闻的详细内容保存到表exam_news中sql="select * from waitforpass"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,3,2
rs.addnew
rs("objid")=newsid
rs("objname")="新闻"
rs("passuserid")=shenhr
rs.update
rs.close//将新闻的审核设置保存到表waitforpass中
response.cookies("savenews")="ok"

(4)成功发布新闻后,发表人可以预览刚发布的新闻。预览新闻的界面(previewnews.asp)如图4-11所示:

图4-11 发表人预览新闻的界面
(5)用户必须登陆后才能查看新闻的全部内容。用户浏览新闻的主界面(viewnews.asp)如图4-12所示:

图4-12 用户浏览新闻的界面
用户可以点击新闻标题列表进入浏览新闻的详细信息,也可以查看没有浏览新闻的人员名单。

§4.2.6 新闻和考试计划审核模块
(1)此系统发布的新闻以及生成的考试计划都需要审核后方能生效。管理员通过news.asp页面可以看到有项新闻或者考试计划需要审核,点击相应的链接可以进入如图4-13所示的审批新闻和考试计划的主界面(passit.asp)

图4-13 审批新闻或考试计划的主界面
审核人可以看到新闻的标题、发表人、发表时间、新闻正文等信息;也可以看到考试计划考试章节、总分、题型分布及分值、考试时间等信息,并填写审批意见以及选择是否同意发表后提交。
(2)审核人提交审核意见后进入如图4-14所示的界面。该页面的作用是提示审核人审核成功以及后台保存审核资料。

图4-14 成功审批新闻或考试计划的界面
该页面的代码是实现将审核意见及通过与否保存到表exam_waitforpass;将审核通过的新闻信息保存到表exam_news,未通过审核的新闻信息将自动从表exam_news中删除;将审核通过的考试计划信息保存到表exam_test,未通过审核的考试计划将自动从表exam_test中删除。

(3)管理员可以查看还未审核的考试计划的编号、所属章节、有效期、设定人、审核人、设定时间等信息。界面如图4-15所示:

图4-15 查看未审批的考试计划界面
该页面的作用主要是管理员查看还未审批的的考试计划,以便及时通知审核人审批,以免耽误考试。

第五章 总 结
考试的网络化可以让你方便地在考试的有效期内,在任何地点参加考试,并立即给出客观题的成绩,大大提高了办公的效率;同时也方便了教师对学生的资料,考试成绩的管理以及对题库、考试章节的管理。

省略

参考文献
[1]. 荣钦科技主笔室编著.最新ASP入门与应用.中国铁道出版社,2001.
[2]. 王国荣.ASP网页制作教程.人民邮电出版社,2000.
[3]. 史玉琢.网络教学中教学模式的研究.天津市财贸管理干报,2005,Vol(27):41-47
[4]. 康博创作室.中文ACCESS2000实用教程.中国水利水电出版社,1999.
[5]. 黄雅玲.JavaScript教学范本.中国铁道出版社,2002.
[6]. 杨刚.HTML与ASP教程.机械工业出版社,2001.
[7]. 金银秋.数据库原理与设计.科学出版社,2004.
[8]. 孙文玲.基于web数据库技术构造网上教学系统.中央民族大学学报(自然科学版),2004,Vol(11):7-13
[9]. Marc Campbell.Web Design Garage.Prentice Hall PTR,2005.
[10].John Gosney.ASP Programming.Stacy L.Hiquet,2002.

附 录

致 谢
省略


5、资源下载

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

序号 毕业设计全套资源(点击下载)
本项目源码 基于asp+access的网上考试系统设计与实现(源码+文档)_asp_BS架构_网上考试系统.zip

asp毕业设计—— 基于asp+access的网上考试系统设计与实现(毕业论文+程序源码)——网上考试系统相关推荐

  1. C#毕业设计——基于MD5+RSA的数字签名设计与实现(毕业论文+程序源码)——数字签名系统

    基于MD5+RSA的数字签名设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于MD5+RSA的数字签名设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告PPT模板及论 ...

  2. java毕业设计——基于JSP+JavaTM的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎

    基于JSP+JavaTM的搜索引擎设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于JSP+JavaTM的搜索引擎设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告P ...

  3. asp毕业设计——基于asp+access的搜索引擎设计与实现(毕业论文+程序源码)——搜索引擎

    基于asp+access的搜索引擎设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于asp+access的搜索引擎设计与实现,文章末尾附有本毕业设计的论文和源码下载地址哦.需要下载开题报告P ...

  4. C#毕业设计——基于C#+asp.net+sqlserver的教务管理平台设计与实现(毕业论文+程序源码)——教务管理平台

    基于C#+asp.net+sqlserver的教务管理平台设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的教务管理平台设计与实现,文章末尾附有本毕 ...

  5. C#毕业设计——基于C#+asp.net+sqlserver的课件发布网站设计与实现(毕业论文+程序源码)——课件发布网站

    基于C#+asp.net+sqlserver的课件发布网站设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的课件发布网站设计与实现,文章末尾附有本毕 ...

  6. java毕业设计基于的校园头条新闻管理系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计基于的校园头条新闻管理系统的设计与实现mybatis+源码+调试部署+系统+数据库+lw java毕业设计基于的校园头条新闻管理系统的设计与实现mybatis+源码+调试部署+系统+数 ...

  7. java毕业设计基于Web生鲜O2O订购平台的设计与实现mybatis+源码+调试部署+系统+数据库+lw

    java毕业设计基于Web生鲜O2O订购平台的设计与实现mybatis+源码+调试部署+系统+数据库+lw java毕业设计基于Web生鲜O2O订购平台的设计与实现mybatis+源码+调试部署+系统 ...

  8. (免费分享)基于JavaWeb的高校试题库管理系统设计与实现 毕业论文+项目源码及数据库文件(已发)

     源码获取:我的博客资源页面可以下载!!!! 项目名称 (免费分享)基于JavaWeb的高校试题库管理系统设计与实现 毕业论文+项目源码及数据库文件(已发) 系统说明 随着信息技术的不断发展,我们已经 ...

  9. C#毕业设计——基于C#+asp.net+Access的视频点播系统设计与实现(毕业论文+程序源码)——视频点播系统

    基于C#+asp.net+Access的视频点播系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+Access的视频点播系统设计与实现,文章末尾附有本毕业设计的论文 ...

  10. C#毕业设计——基于C#+asp.net+sqlserver的选课系统设计与实现(毕业论文+程序源码)——选课系统

    基于C#+asp.net+sqlserver的选课系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+sqlserver的选课系统设计与实现,文章末尾附有本毕业设计的 ...

最新文章

  1. spring源码 — 一、IoC容器初始化
  2. C++的IO流的函数
  3. 并发编程-14线程安全策略之并发容器(J.U.C)中的集合类
  4. 表格隔行变色_CSS实现鼠标悬停高亮
  5. 大地震!某大厂“硬核”抢人,放话:只要AI人才,高中毕业都行!
  6. 被面试官虐过之后,他轻蔑的问我:你还说你了解单例模式吗?
  7. 大数据“杀熟不杀生”;微信朋友圈广告没完;美团打车撒币上海 | 一周业界事
  8. laravel auth(api)-attempt 返回false_3分钟短文:Laravel把数据验证的手伸向“请求体”...
  9. 程序员如何阅读英文文档
  10. qpython3安卓接口_qpython3 读取安卓lastpass Cookies
  11. ROS2 和Ubuntu 版本对应关系
  12. chrome浏览器美化插件:让您的浏览器页面冒水泡, 游小鱼儿
  13. 机器学习课程讲义·第二章,线性模型系列
  14. 汇编启蒙题--by cyl老师
  15. 食品饮料行业商业供应链智能系统解决方案:智慧供应链平台助力企业搭乘数字化快车乘风破浪
  16. 小程序嵌套h5页面_快速小程序开发之微信小程序内嵌 H5
  17. 忘记开机密码怎么开机
  18. 别被骗了:物联网卡骗局无处不在
  19. 串口驱动中使用FIFO
  20. 将pdm里的结构导出Excel

热门文章

  1. 读取项目的根目录 部署tomcat后_tomcat配置根目录访问后,部署后第一次访问会出现tomcat的默认界面而非项目首页...
  2. Linux打假,中国为什么需要Linux?
  3. Windows Server 2008 R2关闭IE ESC (Internet Explor...
  4. .Net设计规范读书笔记
  5. 动态报表-开发一个报表
  6. 网络文件系统 | NFS 服务
  7. 超外差接收机原理图讲解(一)--射频部分
  8. 一、STM32用HAL库实现uS级延时
  9. linux的填涂题是什么类型,软考填涂答题卡纸须知
  10. EasySeq-mismatch