急!在线考试系统问题,临近答辩了,请教最后一个问题!

问题描述

最近在做一个网上考试系统,到最后阶段了,但是在最后答题部分出了问题,以下是源代码,从数据库里抽出题目回答问题,但是我把select语句改成随机抽取后,发现计算成绩时答案对比存在问题了,提取的答案对应不上题目,结果是评分不准,请大家帮忙看一下哪里出问题了,帮忙修改一下,谢谢!!publicpartialclassstudent_startexam:System.Web.UI.Page{Datacondataconn=newDatacon();intt1=0;//单选题题号索引intt2=0;//多选题题号索引intPoint1=0;//单选题分数intPoint2=0;//多选题分数protectedvoidPage_Load(objectsender,EventArgse){if(Session["ID"]==null){Response.Write("<scriptlanuage=javascript>alert('你还没有登录!');location='../default.aspx'</script>");}if(!IsPostBack){this.getCom(1);this.getCom(2);}}protectedvoidbtnOK_Click(objectsender,EventArgse){this.lblStuID.Text=Session["StuName"].ToString();this.lblSubject.Text=Session["SelLession"].ToString();this.lblQuestion.Text=Session["SelTitle"].ToString();this.getCom(3);this.getCom(4);this.lblTotal.Text=""+(Point1+Point2);this.getCom(5);Response.Write("<scriptlanuage=javascript>alert('交卷完毕,反会查看成绩!');</script>");this.btnOK.Enabled=false;}protectedvoidgetCom(inti){stringdd1=Session["SelLession"].ToString();stringdd2=Session["SelTitle"].ToString();SqlConnectioncon=dataconn.getcon();con.Open();SqlDataAdaptermyadapter1=newSqlDataAdapter("selecttop4*"+"fromquestionswheretype='单选题'andoflesson='"+dd1+"'andofshijuan='"+dd2+"'orderbynewid()",con);DataSetmyds1=newDataSet();myadapter1.Fill(myds1);SqlDataAdaptermyadapter2=newSqlDataAdapter("selecttop4*"+"fromquestionswheretype='多选题'andoflesson='"+dd1+"'andofshijuan='"+dd2+"'orderbynewid()",con);DataSetmyds2=newDataSet();myadapter2.Fill(myds2);switch(i){//从数据库中选择单选题case1:DataList1.DataSource=myds1;DataList1.DataBind();//生成单选题题号for(inttID1=1;tID1<=DataList1.Items.Count;tID1++){LabellblSelect=(Label)DataList1.Items[tID1-1].FindControl("Label2");lblSelect.Text=tID1.ToString()+"、";}break;//从数据库中选择多选题case2:DataList2.DataSource=myds2;DataList2.DataBind();//生成多选题题号for(inttID2=1;tID2<=DataList2.Items.Count;tID2++){LabellblDSelect=(Label)DataList2.Items[tID2-1].FindControl("Label24");lblDSelect.Text=tID2.ToString()+"、";}break;//核对单选题答案case3:DataRow[]row1=myds1.Tables[0].Select();//计算单选题成绩foreach(DataRowanswer1inrow1){if(t1<=DataList1.Items.Count-1)t1+=1;RadioButtonListrbl=(RadioButtonList)(DataList1.Items[t1-1].FindControl("RadioButtonList1"));if(answer1["answer"].ToString().Trim()==rbl.SelectedValue.ToString().Trim()){Point1+=10;this.lblSel.Text=Point1.ToString();}}break;//核对多选题答案case4:DataRow[]row2=myds2.Tables[0].Select();//计算多选题成绩foreach(DataRowanswer2inrow2){if(t2<=DataList2.Items.Count-1)t2+=1;CheckBoxListcbl=(CheckBoxList)(DataList2.Items[t2-1].FindControl("CheckBoxList1"));this.TextBox1.Text="";for(intq=0;q<cbl.Items.Count;q++){if(cbl.Items[q].Selected==true){this.TextBox1.Text=TextBox1.Text.Trim()+cbl.Items[q].Value;}}if(answer2["answer"].ToString().Trim()==this.TextBox1.Text.Trim()){Point2+=10;this.lblDSel.Text=Point2.ToString();}}break;//把考试结果插入数据库case5:{dataconn.eccom("insertintostuscore"+"(stuid,lessonname,classname,shijuanname,singlesco,moresco)"+"values('"+lblStuID.Text+"','"+lblSubject.Text+"','"+Session["SelClass"]+"','"+lblQuestion.Text+"','"+lblSel.Text+"','"+lblDSel.Text+"')");}break;}con.Close();}protectedvoidbtnExit_Click(objectsender,EventArgse){Response.Write("<scriptlanuage=javascript>window.close();location='javascript:history.go(-1)'</script>");}}

解决方案

解决方案二:
楼主你的程序看下去很累1.命名不规范TextBox1.Text..student_startexam类名首字母要大写getCom方法名首字母也要大写的2.使用不规范<scriptlanuage=javascript>==<scriptlanguage=javascripttype='text/javascript'>而且注册脚本的方式也不正规3.sql语句不使用参数使用拼接字符串
解决方案三:
引用1楼amandag的回复:

楼主你的程序看下去很累1.命名不规范TextBox1.Text..student_startexam类名首字母要大写getCom方法名首字母也要大写的2.使用不规范<scriptlanuage=javascript>==<scriptlanguage=javascripttype='text/javascript'>而且注册脚本的方式也不正规3.sql语句不使用参数使用拼接字符串

不好意思,刚学asp.net没多久,好多东西都没学好,能用就没怎么改了,现在最大的问题还是随机后计算分数不准啊,再过一个多星期就答辩了,总得出点东西吧,总不能混过去。
解决方案四:
还没毕业做那样也不是很菜.可以理解.我看乱也是在看SQL语句部分看的很累.一大陀的连接命令
解决方案五:
for(intq=0;q<cbl.Items.Count;q++){if(cbl.Items[q].Selected==true){this.TextBox1.Text=TextBox1.Text.Trim()+cbl.Items[q].Value;}}

不知道是不是这里出现逻辑问题了。。。代码太乱了,看不懂了。。。楼主还是应该自己调试下。加些注释上去。尤其是getCom()
解决方案六:
引用4楼Jueyoung的回复:

C#codefor(intq=0;q<cbl.Items.Count;q++){if(cbl.Items[q].Selected==true){this.TextBox1.Text=TextBox1.Text.Trim()+cbl.Items[q].Value;}}不知道是不是这里出现逻辑问题了。。。代码太乱了,看不懂…

这里没有错啊,这的代码是把多选题的答案给保存在TextBox1里面,跟着下面就是跟数据库里保存的答案对比。
解决方案七:
累呀,看得我想睡觉了
解决方案八:
楼主你是题目随机抽取还是题目的选项随机乱序?==============如果是题目随机抽取有题目的id怎么会对不上答案?
解决方案九:
如果把select语句改成不要orderbynewid(),也就是不随机的话,程序本身就没有问题,判分就正确了。我想问题是出在把answer从数据库里取出来的时侯。
解决方案十:
我顶一下,有人帮帮忙么?

时间: 2024-08-02 00:58:44

急!在线考试系统问题,临近答辩了,请教最后一个问题!的相关文章

用ASP开发一个在线考试系统

在线 本文所介绍的应用程序是以ASP编程的初学者为读者的.虽然这个例子非常简单,但是它对于那些试图在线对他们的雇员.学生或客户进行考试的组织是非常有用的. 关于这个应用程序 我们的应用程序中的第一个界面包含在index.asp 中,由一个注册页组成,其中有两个输入域,一个是用户名,另一个是口令.非会员要想参加考试的话必须要注册.这一页是初始屏幕,为用户提供用户名和口令的输入框. 开发一个在线考试系统-asp在线考试系统"> 需要注意的是,这两个将要批准的会员域应该有客户机端的JavaScr

jsp在线考试系统-jsp文件

js|在线 一个在线考试系统,测试你的jsp知识,代码不是特别多,所以不加注释了(http://jspbbs.yeah.net) answer.jsp <%-- Include directive --%> <%@ include file="header.html" %> <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0"> <TR&g

jsp在线考试系统-htm文件

js|在线 一个在线考试系统,测试你的jsp知识,代码不是特别多,所以不加注释了(http://jspbbs.yeah.net) index.jsp <TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0"> <TR> <TD VALIGN="TOP"><FONT FACE="Verdana, Arial, Helvetica, sa

用ASP开发试题库与在线考试系统(1)

摘 要 利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,我们基于B/S模式研究开发了试题库与在线考试系统这一ASP应用程序.它运用方便.操作简单,效率很高,现阶段虽只实现了试卷的客观题部分,但已具有试题(卷)录入.修改和查询,手工组卷与自动组卷以及进行在线考试等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,并给出其详细的成绩分析与试卷评估,同时也大大减轻了教师出题.组卷和改卷等繁重的工作量. 引 言 现阶段,学校与社会上的各种考

用ASP开发试题库与在线考试系统(2)

二.运行环境与系统结构 此应用程序可广泛运行于国际互联网即Internet,也可适用于内部的局域网.其运行要求和逻辑结构分别如下: 客户端:Windows95/98,Internet Explorer(IE)等 服务器端:Windows NT/Windows2000,Internet Information Server (IIS)4.0及其以上版本,IE等:或者Windows98,Personal Web Server(PWS),IE等. 数据库:采用SQL Server,运行于服务器端. 试

利用ASP+XML架设在线考试系统

利用ASP + XML 架设在线考试系统 <-------------此程序非本人原创-------->  使用这个在线的考试系统,我们能处理任何类型在线测试. 尽管我们一般是用传统方式实现,读者非常希望将. 如果从总体上考虑. 所有问题都储存在服务器( 它可能在数据库里) 里面的的xml 文件里. 用户准备花费考试,然后用户测试的通体将通过微软的XML HTTP 组件传送到浏览器. 使用同一个XML HTTP 组件,每当用户请求一个问题的时候,那些问题内容被从服务器解释并且显示在页上. 对用

用ASP开发试题库与在线考试系统

  摘 要利用网络和数据库技术,结合目前硬件价格普遍下跌与宽带网大力建设的有利优势,我们基于B/S模式研究开发了试题库与在线考试系统这一ASP应用程序.它运用方便.操作简单,效率很高,现阶段虽只实现了试卷的客观题部分,但已具有试题(卷)录入.修改和查询,手工组卷与自动组卷以及进行在线考试等重要功能,也就是说实现了真正的无纸化考试,满足任何授权的考生随时随地考试并迅速获得成绩,并给出其详细的成绩分析与试卷评估,同时也大大减轻了教师出题.组卷和改卷等繁重的工作量. 引 言 现阶段,学校与社会上的各种

基于Web在线考试系统的设计与实现

这是一个课程设计的文档,源码及文档数据库我都修改过了,貌似这里复制过来的时候图片不能贴出,下载地址:http://download.csdn.net/detail/sdksdk0/9361973   数据库原理课程设计说明书              基于Web在线考试系统的设计与实现             目  录   1 课题背景与意义.3 1.1课题开发背景.3 1.2 课题开发意义.3 2 系统需求分析.4 2.1 项目要求.4 2.2 开发方案.5 2.3开发环境.5 3 总体开发.

新手java-Java新手,想问一个关于在线考试系统的问题。

问题描述 Java新手,想问一个关于在线考试系统的问题. 现在做一个在线考试系统,从数据库拿到了一整张试卷(有单选,多选,判断,简答题),把题目一题占一页的显示在页面上,然后点击next到第二题.如何把选的这些答案保存到数据库?是点击一下next保存一个,还是一张试卷全做完了点击submit一起保存?具体怎么解决呢? 解决方案 随便呗,要是一起保存,就写全局的静态Map存数据,最后一次提交,保存Map数据,然后在清空占用内存 解决方案二: 你在去题目的同时为何不一起把答案取出来,然后在做完试卷的

考试系统 百人 延迟-.net开发的在线考试系统,英语考试在线播放英语听力(mp3)网络延迟卡顿,,)

问题描述 .net开发的在线考试系统,英语考试在线播放英语听力(mp3)网络延迟卡顿,,) 网络已经由原来的百兆改为前兆网口,但是对于几百人的考试依然无法应付,超过百人同事登录读取听力系统将会卡死,求详细解决方案,不详细至少对路,好好答,谢谢大家了. 解决方案 可以使用多个服务器,你的主程序随机分配地址到每个服务器. 解决方案二: 在线考试(3)数据库设计之在线考试系统 解决方案三: 首先要确定你的问题主要是带宽的问题,还是服务端并发处理不过来导致的卡死. 以下几点建议参考: 1.建议压缩音频文