视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
在线考试系统参考
2025-09-29 17:00:14 责编:小OO
文档
1.4  IIS配置与SQL Server数据库连接 

1.4.1  IIS配置 

IIS是Internet Information Server的缩写,是微软提供的Internet服务器软件,包括Web、FTP、Mail等服务器。本文以Windows 2000服务器版操作系统为例,介绍Web服务器的安装和设置方法。 

目前运行IIS的最理想平台是Windows 2000服务器版和高级服务器版。Windows 9x/Me里也有IIS,但只是PWS(个人Web服务器),功能很有限,只支持1个连接。Windows XP里的IIS也只支持10个连接。 

IIS是Windows操作系统自带的组件。如果在安装操作系统时没有安装IIS,则应手动安装。安装步骤如下: 

(1)打开“控制面板”窗口,双击“添加或删除程序”图标,运行“添加或删除程序”窗口。 (2)选择“添加或删除程序”窗口内“添加/删除Windows组件”选项,弹出“Windows组件向导”对话框。 

(3)选中“Internet信息服务(IIS)”复选框,单击“下一步”按钮,执行操作。IIS安装完毕。 接下来,就是要对系统进行新建虚拟目录操作: 

(1)打开“控制面板”窗口,双击“管理工具”图标,进入“管理工具”窗口。 (2)双击“Internet服务管理器”图标,进入“Internet信息服务”窗口。 

(3)单击“操作”目录,选择下拉菜单“新建”|“虚拟目录”命令,如图1.21所示。

(4)弹出“欢迎”窗口,单击“下一步”按钮。  (5)在“别名”文本框中输入映射后的名字,如zxks,单击“下一步”按钮。  (

6)在“目录”文本框中输入要映射的目录,如d:\\software\\zxks,单击“下一步”按钮,进入设置访问权限窗口,如图1.22所示。    图1.22  设置访问权限窗口  (7)在这里选择正确的访问权限,再单击“下一步”按钮,即完成设置。  删除映射的方法:打开“Internet信息服务”窗口,在虚拟目录别名上单击鼠标右键,选择“删除”命令即可。 

 1.4.2  创建SQL Server数据库

  打开SQL Server 2000的“企业管理器”窗口。右击“数据库”分支,弹出右键目录,如图1.23所示。选择“新建数据库”命令,弹出“数据库属性”窗口,如图1.24所示。在“名称”文本框内输入test,单击“确定”按钮,完成创建。 

 

图1.23  新建数据库窗口 

 

图1.24  “数据库属性”窗口 

按照要求建好数据库后,需要建立网站页面与后台服务器的链接,页面名称为conn.asp。以后当需要对程序中的数据库进行操作时,只需要用命令就可以直接调用该程序,打开数据库,提高程序的可读性,同时也提高程序便捷性。代码如下: 

<% 

Set conn = Server.CreateObject("ADODB.Connection") '创建一个数据库链接对象conn,方便后面调用 connstr="Provider=SQLOLEDB;Data Source=(local);Initial Catalog=test;User ID=sa;Password=yanyan;"                       '创建一个数据库的recordset对象,方便以后调用 conn.Open connstr                    '打开数据库

1.5  用户登录页面 

用户登录页面主要是为用户提供登录的窗口,用户通过在页面内输入正确的用户名及密码,取得登录系统的权利。否则不能登录系统,实现在线考试。 

用户登录页面主要分为两个部分:顶部为“在线考试系统”的信息图片;中间左侧为用户登录框,右侧为系统图片。它用firework创建系统图片文件,存为jpg格式或gif格式,作为各动态页面顶部     或页面中图片。主要由顶部图片页面(top.htm)和用户登录页面(login.asp)组成,页面如图1.25        所示。 

 

图1.25  用户登录页面 

1.5.1  顶部图片页面 

顶部图片页面(top.htm):为了使页面标准和美观,同时避免重复、节约代码,将顶部头文件制作成为模块,以后通过命令直接调用。顶部图片页面如图1.26所示。 

创建新的页面,首先在页面上添加一个1×1的表格用来固定图片的位置,设置表格的各项属性,包括边框属性、长度和宽度等,最后加入文件夹images下事先保存的图片。代码如下: 

… 

       … 

󰀈注意:图片最好选用相对路径,这样可以防止因为文件夹位置变动而引起的图片路径丢失。

1.5.2  用户登录页面  用户登录页面(login.asp

)是一个静态页面,如图1.27所示。    图1.27  用户登录页面  创建新页面,在页面中添加一个1×1的表格a,在表格a内加入一个表单,给表单命名。  在表单内插入一个1×3的表格b,在b的第三列单元格内加入图片,第二列单元格内插入一个     3×5列的表格c。  最后在表格c内第二列单元内加入文本对话框两个,将按钮控件移至第二列单元格内。给两个文本框命名,分别命名为student和pwd。pwd的type属性定义为password,这样用户输入字符都将显示为“*”号,以隐藏密码。  设置表格、文本对话框的各项属性。定义“提交”按钮onclick事件:onclick="check()"。  1.用户登录页面ASP代码  用户登录页面通过ASP代码判断用户名及密码是否填写,填写是否正确。若填写正确,则将用户信息赋值给session变量,以方便以后调用。代码如下: <%'调用conn.asp连接数据库 %> 使用

JavaScript语言,定义过程check(),判断用户名及其密码是否为空。为空则弹出错误“警示”对话框。代码如下: 

//使用javascript语言,创建函数check(),检测用户姓名及密码是否为空  function check() { 

//如果student文本框内容为空,弹出“警示”对话框提醒“请输入用户名” if (document.form1.student.value==" ") 

{alert("请输入用户名"); 

document.form1.student.focus();    //将焦点集中在student文本框 return false;}       //避免提交失败,防止IE重载该页面 //如果pwd文本框内容为空,弹出“警示”对话框提醒“请输入用户密码” if (document.form1.pwd.value==" ")  

{alert("请输入用户密码"); 

document.form1.pwd.focus();    //将焦点集中在pwd文本框 return false;}       //避免提交失败,防止IE重载该页面 //获取引藏域名为ctype的值,直接给ctype赋值为add document.form1.ctype.value="add";  document.form1.submit();      //提交form1表单 } 

 

使用VBScript语言,如果用户名及密码不为空,查找表student,检验用户名及密码是否正确。代码如下: 

session.timeout=125                          '定义超时时间为125 

'获取提交变量ctype的值,如果ctype的值为add,则将session变量各值赋值为空 if trim(request("ctype"))="add" then  

session("student")=" " session("classes")=" " session("id")=" " 

session("number")=" " session("sex")=" " 

sql="select * from student where studentname=' "&trim(request("student"))&' " and studentpassword=' 

"&trim(request("pwd"))&" ' "                     'sql语句定义查询条件 

set rs=conn.execute(sql)             '执行sql语句 

'如果用户名或密码不正确,使用javascript语言, 弹出“警示”对话框 if rs.eof then           %> 

 

alert("无此学员!请先注册"); 

 

<%'使用vbscript语言,如果用户及密码正确,则赋值session变量姓名、学号等信息%> 

else 

session("student")=rs("studentname") session("classes")=rs("class") 

session("number")=rs("studentnumber") session("sex")=rs("sex") session("timen")=now  

%>对话框。代码如下: 

//使用javascript语言,创建函数check(),检测用户姓名及密码是否为空  function check() { 

//如果student文本框内容为空,弹出“警示”对话框提醒“请输入用户名” if (document.form1.student.value==" ") 

{alert("请输入用户名"); 

document.form1.student.focus();    //将焦点集中在student文本框 return false;}       //避免提交失败,防止IE重载该页面 //如果pwd文本框内容为空,弹出“警示”对话框提醒“请输入用户密码” if (document.form1.pwd.value==" ")  

{alert("请输入用户密码"); 

document.form1.pwd.focus();    //将焦点集中在pwd文本框 return false;}       //避免提交失败,防止IE重载该页面 //获取引藏域名为ctype的值,直接给ctype赋值为add document.form1.ctype.value="add";  document.form1.submit();      //提交form1表单 } 

 

使用VBScript语言,如果用户名及密码不为空,查找表student,检验用户名及密码是否正确。代码如下: 

session.timeout=125                          '定义超时时间为125 

'获取提交变量ctype的值,如果ctype的值为add,则将session变量各值赋值为空 if trim(request("ctype"))="add" then  

session("student")=" " session("classes")=" " session("id")=" " 

session("number")=" " session("sex")=" " 

sql="select * from student where studentname=' "&trim(request("student"))&' " and studentpassword=' 

"&trim(request("pwd"))&" ' "                     'sql语句定义查询条件 

set rs=conn.execute(sql)             '执行sql语句 

'如果用户名或密码不正确,使用javascript语言, 弹出“警示”对话框 if rs.eof then           %> 

 

alert("无此学员!请先注册"); 

 

<%'使用vbscript语言,如果用户及密码正确,则赋值session变量姓名、学号等信息%> 

else 

session("student")=rs("studentname") session("classes")=rs("class") 

session("number")=rs("studentnumber") session("sex")=rs("sex") session("timen")=now  

%>

   //使用javascript,显示index.asp页面 

var now=new Date()   //显示index.asp窗口,同时避免IE使用history记录 window.navigate("index.asp?time="+now.getTime()); 

 

<%end if  end if %> 

2.用户登录页面正文代码 

页面正文代码勾画页面表格、表单、文本框、文字和按钮等控件属性。页面代码如下:  

 … 

       <%'调用top.htm页面%> … 

          <%'表格a属性%>                <%'表格b属性%> …             <%'表单属性%> 

           <%'表格c属性%> …           <%'用户名文本框属性%> …            <%'密码文本框属性%> … 

           <%' “提交”、“重置”按钮属性%> …  

          新学生注册 <%'单击“新学生注册”进入新学生注册页面%> … 

          后台管理程序入口 <%'单击“后台管理程序入口”进入后台管理程序页面%> …    <%'图片位置%> …   

1.6  用户注册页面 

用户注册主要由两个页面构成:顶部图片页面(top2.htm)和注册页面(register.asp)。用户注册页面主要用于用户完成用户注册。注册成功后,用户才可以进入在线考试系统。1.6.2  用户注册页面 

用户注册页面(register.asp)是一个静态页面。它的主要功能是注册新的学生用户,并对数据库进行更新,如图1.29所示。 

 

图1.29  用户注册页面 

创建新页面,在页面中添加一个1×1的表格a,在表格a内加入一个表单,给表单命名。在表单内插入一个6×3的表格b,在单元格内添加文本对话框及文本,将按钮控件移至第二列单元格内。设置表格、文本对话框及按钮各项属性。 

1.用户注册页面ASP代码 

用户注册页面ASP判断用户名是否输入完全;判断加入的学生是否已经注册过,避免重复注册;

将新学生注册信息存入数据库中,提示注册成功。代码如下: 

             <%'调用conn.asp页面连接数据库%> 

使用JavaScript语言,创建过程check(),判断文本是否输入完全。代码如下: 

 function check() { 

if (document.form1.student.value==" ")  //判断学生姓名文本框是否为空 

{alert("请输入学生姓名!");    //弹出“警示”对话框 document.form1.student.focus();   //焦点集中在学生姓名文本框 return false;                 //避免提交失败,防止IE重载该页面 } 

if (document.form1.pwd.value==" ")   //判断密码文本框是否为空 

{alert("请输入密码!");     //弹出“警示”对话框 document.form1.pwd.focus();    //焦点集中在密码文本框 return false;       //避免提交失败,防止IE重载该页面 } 

if (document.form1.classes.value==" ")   //判断班级文本框是否为空 

{alert("请输入班级!");     //弹出“警示”对话框 document.form1.classes.focus();   //焦点集中在班级文本框 return false;              //避免提交失败,防止IE 重载该页面 } 

if (document.form1.number.value==" ")   //判断学号文本框是否为空 

{alert("请输入学号!");     //弹出“警示”对话框 document.form1.number.focus();   //焦点集中在学号文本框 return false;            //避免提交失败,防止IE 重载该页面 } 

//获取引藏域名为ctype的值,直接给ctype赋值为add document.form1.ctype.value="add";        

document.form1.submit();     //提交form1表单 } 

 

使用VBScript语言判断注册学生学号是否存在。如果存在,则使用JavaScript语言,弹出“警示”对话框提示存在此学生。代码如下: 

'判断提交变量ctype的值,如果ctype的值为add,查询此学号的学生是否存在 if trim(request("ctype"))="add" then   

sqlfind="select * from student where studentnumber=' "&trim(request("number"))&" ' " 'sql查询语句查找

此学号的学生是否存在 

set rsfind=conn.execute(sqlfind)         '执行sql语句 if not rsfind.eof then                    '如果此学号存在,则弹出“警示”对话框提示存在此学生            '否则将学生信息存入数据库student表中 %>                 //使用javascript语言 

alert("已有此学员,请重新录入!"); 

 

将新学生注册信息存入数据库中,提示注册成功。代码如下: 

             <%'调用conn.asp页面连接数据库%> 

使用JavaScript语言,创建过程check(),判断文本是否输入完全。代码如下: 

 function check() { 

if (document.form1.student.value==" ")  //判断学生姓名文本框是否为空 

{alert("请输入学生姓名!");    //弹出“警示”对话框 document.form1.student.focus();   //焦点集中在学生姓名文本框 return false;                 //避免提交失败,防止IE重载该页面 } 

if (document.form1.pwd.value==" ")   //判断密码文本框是否为空 

{alert("请输入密码!");     //弹出“警示”对话框 document.form1.pwd.focus();    //焦点集中在密码文本框 return false;       //避免提交失败,防止IE重载该页面 } 

if (document.form1.classes.value==" ")   //判断班级文本框是否为空 

{alert("请输入班级!");     //弹出“警示”对话框 document.form1.classes.focus();   //焦点集中在班级文本框 return false;              //避免提交失败,防止IE 重载该页面 } 

if (document.form1.number.value==" ")   //判断学号文本框是否为空 

{alert("请输入学号!");     //弹出“警示”对话框 document.form1.number.focus();   //焦点集中在学号文本框 return false;            //避免提交失败,防止IE 重载该页面 } 

//获取引藏域名为ctype的值,直接给ctype赋值为add document.form1.ctype.value="add";        

document.form1.submit();     //提交form1表单 } 

 

使用VBScript语言判断注册学生学号是否存在。如果存在,则使用JavaScript语言,弹出“警示”对话框提示存在此学生。代码如下: 

'判断提交变量ctype的值,如果ctype的值为add,查询此学号的学生是否存在 if trim(request("ctype"))="add" then   

sqlfind="select * from student where studentnumber=' "&trim(request("number"))&" ' " 'sql查询语句查找

此学号的学生是否存在 

set rsfind=conn.execute(sqlfind)         '执行sql语句 if not rsfind.eof then                    '如果此学号存在,则弹出“警示”对话框提示存在此学生            '否则将学生信息存入数据库student表中 %>                 //使用javascript语言 

alert("已有此学员,请重新录入!"); 

使用VBScript语言,将新的学生信息存入数据库student表中。执行成功,使用JavaScript语言弹出“警示”对话框,进入用户登录login.asp页面。代码如下: 

else 

sqlin="insert into student (studentname,studentpassword,sex,class,studentnumber) values(' "&trim 

(request("student"))&" ',' "&trim(request("pwd"))&" ',' "&trim(request("sex"))&" ',' "&trim(request("classes"))&" ',' "&trim (request("number"))&" ')"           'sql语言的插入语句在student表中插入新的学生信息数据 

set rs=conn.execute(sqlin)    '执行sql语句 

'执行成功弹出“警示”对话框,进入用户登录login.asp页面%>    //使用javascript语言 

alert("注册成功!"); 

window.navigate("login.asp"); 

 <% 

end if  end if %> 

2.用户注册页面正文代码 

页面正文代码勾画页面表格、表单、文本框、文字和按钮等控件属性。页面代码如下: 

 … 

    <%'调用top2.htm页面%> … 

      <%'表单属性设置%>       …   1px" class="line"> 

         (*必填) …            男         女  …   class="line"> 

         (密码长度小于等于6位) …   #000000"> 

…   #000000"> 

… 

      border-style: solid; border-width: 1px; background-color: #FFFFFF" class="line">  

   border-width: 1px; background-color: #FFFFFF">  <%'按钮属性设置%> 

        

  …  

1.管理员登录页面ASP代码 

管理员页面通过ASP代码判断账号及密码是否填写,填写是否正确。若填写正确,则将用户信息赋值给session变量,以方便以后调用。代码如下: 

     <%'调用conn.asp页面连接数据库%> 

使用JavaScript语言,创建check()函数,判断账号及密码是否填写。代码如下: 

         function check() 

{if (document.form1.id.value==" ")   //如果id文本框为空 

{alert ("请输入账号!");         //弹出“警示”对话框 document.form1.id.focus();     //焦点集中在id文本框 

return false;}                 // 避免提交失败,防止IE重载该页面 if (document.form1.pwd.value==" ")  //如果pwd文本框为空 

{alert ("请输入密码!");       //弹出“警示”对话框 document.form1.pwd.focus();   //焦点集中在pwd文本框 

return false;}                 // 避免提交失败,防止IE重载该页面 

document.form1.ctype.value="types"; // 获取引藏域名为ctype的值,直接给ctype赋值为add

document.form1.submit();        //提交form1表单 

 

使用VBScript语言判断填写是否正确。若填写正确,则将用户信息赋值给session变量,进入管理员界面首页admin.asp页面。代码如下: 

if request("ctype")="types" then 

sqlfind="select * from admin where admin=' "&trim(request("id"))&" ' and adminpassword=' "&trim  

(request("pwd"))&" ' "        'sql语言的查询语句查询表admin 

set rs=conn.execute (sqlfind)     '执行sql语句 

'如果数据库中不存在该用户及密码,则弹出“警示”对话框,浏览器后退。如果存在,则保存登录用户

admin,进入admin.asp页面 

if rs.eof then                     %>            //使用javascript语言 

alert("错误:无此管理员,或管理员密码错误!"); history.back();                //浏览器后退 

 <% 

else 

session("adminid")=rs("admin") '保存登录用户admin 

%> 

 

window.navigate("admin.asp");  '进入管理员界面首页admin.asp页面 

 <%end if  else %> 

2.管理员登录页面正文代码 

页面正文代码勾画页面表格、表单、文本框、文字和按钮等控件属性。页面代码如下: 

 … 

            <%'表单属性设置%>        …              …     … 

             <%'按钮属性设置%>

ASP+SQL Server典型网站建设案例 

 

·28·

         … 

<%end if %> 

1.8  管理员界面首页 

管理员界面首页由3个页面组成:欢迎页面(welcome.asp),检验用户名页面(check.asp)和管理界面首页(admin.asp)。通过管理界面首页实现在线考试系统后台试题、题库、学生和成绩等管理。 

1.8.1  检验用户名页面 

检验用户名页面(check.asp)用于检测管理员用户名是否为空。同时避免重复并节约代码。将检查用户名页面制作成为模块,以后通过命令直接调用。页面代码如下: 

<% '采用vbscript语言 

if trim(session("adminid"))=" " then%>   '如果session变量的adminid值为空,则进入管理员登录页面          //采用javascript语言 

    window.top.navigate("index.asp"); 

 <%end if %> 

1.8.2  欢迎页面 

欢迎页面(welcome.asp)用于在系统进入管理员界面首页时,先是在右侧嵌入式框架内插入文字或图片。此处可以根据个人喜好及风格等随意制作,本系统中采用简单文本样式。首先创建新页面,在页面中插入一个1×1的表格,设定表格属性。然后在表格内插入文字。欢迎页面如图1.31所示。 

 

图1.31  欢迎页面 

页面代码如下: 

 

第1章  在线考试系统  

·29·

… 

    <%'表格属性%>            欢迎进入在线考试后台管理系统  <%'插入的文字%> … 

 

1.8.3  管理界面首页 

管理界面首页(admin.asp)后台管理程序全部在此页面上运行。它的页面主要分为3部分:顶部为系统图片,左侧为工具条,右侧为嵌入式框架,页面如图1.32所示。 

 

图1.32  管理界面首页 

创建新页面,首先在页面中插入一个1×1的表格a,在表格a内插入所选图片。然后在表格a下方插入1×2的表格b,在表格b第一列单元格内插入10×1的表格c,在表格c中插入文字。在表格b第二列单元格内插入嵌入式框架。在嵌入式框架内单击“设置初始页面”链接,选择欢迎页面(welcome.asp)作为初始页面。最后设置页面内各控件及文字属性。页面代码如下: 

   <%'调用check.asp检测登录用户是否为空%>  … 

     <%'表格a属性%>                     <%'图片路径及属性%>      … 

  <%'表格b属性%> … 

        ASP+SQL Server典型网站建设案例 

 

·30·"#111111" width="110" id="AutoNumber2">                            <%'表格c属性%> 

表格c内显示管理菜单。单击菜单中相应字样,在右侧嵌入式框架内显示相应页面。代码如下: 

           

                后台管理   <%'文字%>                                    

<%'单击“判断题管理”字样,在右侧嵌入式框架内显示判断题管理页面(type_1.asp)%>             判断题管理                                              

<%'单击“选择题管理”字样,在右侧嵌入式框架内显示选择题管理页面(type_2.asp)%>                           选择题管理                                               

<%'单击“填空题管理”字样,在右侧嵌入式框架内显示填空题管理页面(type_3.asp)%>                         填空题管理                                              

<%'单击“试卷管理”字样,在右侧嵌入式框架内显示试卷管理页面(test.asp)%>               试卷  管理                                                

<%'单击“成绩管理”字样,在右侧嵌入式框架内显示成绩管理页面(student.asp) %>                                           成绩  管理                                              

<%'单击“学生管理”字样,在右侧嵌入式框架内显示学生管理页面(student_admin.asp)%>       学生  管理     … 

            

<%'单击“管理员信息”字样,在右侧嵌入式框架内显示管理员信息页面(system.asp)%> 

管理员信息    

                                           

<%'单击“退出”字样,整个页面显示管理员登录页面(index.asp)%>             退出 … 

         

      <%'嵌入式框架属性%> 

第1章  在线考试系统 

 

·31·

         … 

判断题增加页面代码如下: 

    <%'调用conn.asp页面连接数据库%>    <%'调用check.asp页面检测登录用户名%> 

 

图1.34  判断题增加页面 

1.判断题增加页面ASP代码 

判断题增加页面通过ASP代码判断题库内是否已经存在插入试题。如果存在,则弹出“警示”对话

框,不存在则在数据库内插入数据。操作成功或失败弹出警示框,提示操作成功或者失败。代码如下: 

<% 

if request("ctype")="types" then    '如果引藏域名ctype的值为type,则 

flag=0                         '标识变量flag的值设为0 

for i= 1 to 10                     'sql语言的for循环语句从1~10 

'如果文本框"t"&i、"cate"&i的值不为空,则执行sql语言的查询语句检查rightorwrong表内是否已存在数据 if trim(request("t"&i))<>" " and trim(request("cate"&i))<>" " then   

set rss=conn.execute("select * from rightorwrong where question=' "&trim(request("t"&i))&" ' ")    if not rss.eof then  '如果不存在数据,则页面后退;否则插入数据 

%>                     //采用javascript语言 

alert("已有此试题,请重新录入!");  //弹出“警示”对话框 

history.back(); 

 

<%          else 

sql="insert into rightorwrong (question,answer,setupdata) values (' "&trim(request ("t"&i)) 

&" ',' "&trim(request("cate"&i))&" ',' "&date()&"')"        'sql语言的插入语句 

set rs=conn.execute (sql)    '执行sql语句 flag=1                          'flag变量设置为1 end if end if  next 

'如果flag变量的值为1,则弹出“警示”对话框,重新进入type_1_add.asp页面 if flag=1 then  %> 

 

ASP+SQL Server典型网站建设案例 

 

·36·alert("试题录入成功!"); var now=new Date(); 

window.navigate("type_1_add.asp?time="+now.getTime()); 

 <% 

else%>                        //采用javascript语言 

alert("错误:数据不全,或提交为空记录!");   //弹出“警示”对话框 history.back();                             //页面后退 

 <% 

end if  end if  %> 

2.判断题增加页面正文代码 

页面正文代码勾画页面表格、表单、文本框、文字和按钮等控件属性。循环插入表格页面代码如下: 

 … 

     <%'表单属性%>    

   … 

    <%for i=1 to 10       'sql语言的循环语句           j=i              将变量i的值赋值给j           if j mod 2 =0 then '如果j被2整除,则bg为"#EFEFF7",否则bg为"#ffffff"     bg="#EFEFF7"     else      bg="#ffffff"     end if %>     >   <%'表格背景颜色为变量bg%>       <%=i%>  <%'表格内显示编号%>        " size="65" class="line">                  " size="1" style="background-color: #E6F2FF" >             对  <%'如果选择“对”,则值为1%>             错      

     <%next%>               

         <%' “提交”按钮属性%>     <%'“重置”按钮属性%>           

第1章  在线考试系统 

 

·37·

     … 

判断题修改页面(type_1_edit.asp)是动态页面,主要用于对选定判断题目进行修改。页面的控件与判断题增加页面完全一致,只有文本框及下拉框的名称不相同。页面如图1.35所示。 

 

图1.35  判断题修改页面 

页面代码如下所示: 

  <%'调用conn.asp函数连接数据库%>    //采用javascript语言,创建check函数 

1.判断题修改页面ASP代码 

判断题修改页面通过ASP代码判断题库内是否已经存在插入试题。如果存在则弹出“警示”对话

框,不存在则修改数据库数据。操作成功或失败弹出“警示”对话框,提示操作成功或者失败。代码如下: 

ASP+SQL Server典型网站建设案例 

 

·38·function check() { 

//如果表单form1内表格t1的值为空,则弹出“警示”对话框,焦点集中在文本框t1 if (document.form1.t1.value==" ")        

{alert("请录入题干!"); 

document.form1.t1.focus(); return false;} 

document.form1.ctype.value="types";   //表单form1的引藏域名ctype的值为types document.form1.submit();               //提交form1表单 } 

 

<%sql="select * from rightorwrong where rightorwrongid="&trim(request("id")) 'sql语言的查询语句 set rs=conn.execute (sql)           '执行查询语句 

'如果引藏域名ctype的值为types,则查询表rightorwrong内是否存在修改后的判断题目及答案,如果存在,则弹出“警示”对话框,页面返回。如果不存在,则存入数据库中 

if request("ctype")="types" then    

sqlfind="select * from rightorwrong where question=' "&trim(request("t1"))&" ' and answer=' "&request 

("cate")&" ' and rightorwrongid<>"&request("id")  'sql语言的查询语句 

set rss=conn.execute(sqlfind)      '执行语句 if not rss.eof then                 '如果记录不存在 %> 

    //采用javascript语言 

alert("已有此试题!");    //弹出“警示”对话框 history.back();     //页面返回 

  <% else  '采用vbscript语言 

sqledit="update rightorwrong set question=' "&trim(request("t1")) &" ',answer=' "&request ("cate") 

&" ' , setupdata=' "&date()&" ' where rightorwrongid="&request("id")   'sql语言的修改语句 

set rss=conn.execute(sqledit)         '执行修改语句 

%> 

    //采用javascript语言 

alert("试题修改成功!");   //弹出“警示”对话框 var now=new Date();    //变量now赋值当前日期 

window.navigate("type_1.asp?time="+now.getTime());//返回type_1.asp 

 <% end if  end if %> 

2.判断题修改页面正文代码 

页面正文代码勾画页面表格、表单、文本框、文字和按钮等控件属性。页面代码如下: 

 … 

           <%'表单属性%>   >  

   … 

           <%=rs("rightorwrongid")%> 

       >   <%'文本

第1章  在线考试系统  

·39·

框t1内显示单击的修改题目的内容%>                   

            >对    <%'如果单击的修改题目的答案为1,则显示“对”字样%> 

            >错                            <%“提交” 、“重置”按钮属性%>                

… 

 下载本文

显示全文
专题