你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:技术专栏 / Linux开发
利用ASP.NET构建网上考试系统(4)
 

四、交卷评分:

   当用户点击交卷按钮后,应将用户的答题结果与试题答案进行比对,并给出相应的分值写入数据表,最后将表StuInfo中的LogYn字段设置为2,显示考试得分,代码如下(test.aspx):

private void ButSend_Click(object sender, System.EventArgs e)
{
  ...
  for(int i=1;i<=10;i++) //由于随机生成了10道题,所以循环10次
  {
   for(int j=0;j<4;j++)
    if(Request.Form["ChkMc"+i.ToString()+":"+j.ToString()]!=null)
     mcs+="1"; //mcs是存储考生所选答案的字符串变量,已选用"1"表示,未选用"0"表示
    else
     mcs+="0";
  }
  ...
  QuestCmd.CommandText="select mca from StuInfo where ExamId= '" +Session["Id"].ToString()+"'";
  QuestConn.Open();
  SqlDataReader QuestRd=QuestCmd.ExecuteReader();
  QuestRd.Read();
  int StuScore=0; //存储得分的变量
  for(i=0;i<10;i+=4)
  {
   if(QuestRd["mca"].ToString().Substring(i,4).Equals(mcs.Substring(i,4)))
    StuScore+=2; //从字段mca和mcs中每次取四个字符进行比对,如相等则加上2分
  }
  ...
  QuestCmd.CommandText="update StuInfo set score="+StuScore.ToString()+",LogYn='2' where ExamId= '" + Session["Id"].ToString()+"'and LogYn='1'"; //设置已评分标志
  QuestRd=QuestCmd.ExecuteReader();
  ...
  Response.Redirect("score.aspx"); //显示考试得分页面
  ...
}

   限于篇幅,在此只列出了实现网上考试系统的几个要点,读者可根据自已的需要进一步完善相应的数据验证、后台管理及界面设计。

(编辑:aniston)

  推荐精品文章

·2024年12月目录 
·2024年11月目录 
·2024年10月目录 
·2024年9月目录 
·2024年8月目录 
·2024年7月目录 
·2024年6月目录 
·2024年5月目录 
·2024年4月目录 
·2024年3月目录 
·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089