请教做考试系统的问题

qq_17228139 2015-01-04 05:26:45

学做一个如上图的在线考试系统,请问用什么方法把数据库中的题目循环显示在页面中,后台又怎样获取用户选择的答案选项?题目的数据库怎么设计?向前辈们取取经。
...全文
301 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Xanl 2015-01-08
  • 打赏
  • 举报
回复
你这个问的太广泛了、
q469966816 2015-01-08
  • 打赏
  • 举报
回复
一样是做考试系统的路过,无压力,慢慢做。
无爱大叔 2015-01-08
  • 打赏
  • 举报
回复
Set conn=Server.CreateObject("ADODB.Connection") dbpath=Server.MapPath("data/#dangdai20040.mdb") conn.open "driver={Microsoft Access Driver (*.mdb)}; dbq=" & DBPath 这里连的access数据库
qq_17228139 2015-01-07
  • 打赏
  • 举报
回复
引用 7 楼 xhbmj 的回复:
[quote=引用 5 楼 qq_17228139 的回复:] [quote=引用 2 楼 sp1234 的回复:] [quote=引用 楼主 qq_17228139 的回复:] 学做一个如上图的在线考试系统,请问用什么方法把数据库中的题目循环显示在页面中,后台又怎样获取用户选择的答案选项?题目的数据库怎么设计?向前辈们取取经。
这是3个 DataList 嵌套布局。如果你觉得很麻烦,那么就需要编写2个用户控件用来对UI进行分层。 至于后台获取数据,你只要学习嵌套的DataList(或者DataList里边帮定用户控件,用户控件里边再分层处理)编程,就能学到编程方法。 如果在1天内地完成这个例题,可以将数据正确而方便的绑定和保存(答案),基本上就可以算是一个合格的asp.net程序员了。[/quote] 是我没表达清楚。。。用DataList固然可以,我是看到网上一段源码稀里糊涂问出这个问题的 源码: <%if xz<>0 then %> <tr> <td colspan="4" id="BigTitle">一、选择题 <%=ChoiceDes%> </td> </tr> <% NumC=ChoiceNum sqlChoice="select top "&NumC&" * from Choice order by id asc" '这是sql语句不用多说了吧 set rsChoice=server.createobject("adodb.recordset") '创建记录集对象 rsChoice.open sqlChoice,conn,1,1 '打开只读记录集 Do while not rsChoice.eof '循环记录集 For k = 1 to NumC %> <tr onMouseOver="this.bgColor='#F0F7FF'" onMouseOut="this.bgColor='#FAFAFA'"> <td colspan="4"><table width="98%" cellpadding="0" cellspacing="2" align="center"> <tr> <td colspan="2"><b><%=k%>.<%=rsChoice("Topic")%></b></td> </tr> <tr> <td width="50%"><input type="radio" name="Choice<%=k%>" value="A" title="请选择单选“第<%=k%>题”~!" /> A、<%=rsChoice("A")%></td> <td><input type="radio" name="Choice<%=k%>" value="B" title="请选择单选“第<%=k%>题”~!" /> B、<%=rsChoice("B")%></td> </tr> <tr> <td width="50%"><input type="radio" name="Choice<%=k%>" value="C" title="请选择单选“第<%=k%>题”~!" /> C、<%=rsChoice("C")%></td> <td><input type="radio" name="Choice<%=k%>" value="D" title="请选择单选“第<%=k%>题”~!" /> D、<%=rsChoice("D")%></td> </tr> </table> </td> </tr> <% rsChoice.movenext Next Loop rsChoice.close set rsChoice=nothing end if %> 用了一段很奇怪的循环加载<td>,没有使用 DataList 这样的控件实现了题目的加载,他是怎么实现的?上面的代码是什么意思?[/quote] 一点也不奇怪,是你没搞清楚这段源码实际上是asp,而你问的应该是asp.net吧 asp的语法就是你上面发的那样用vbscript作为默认语言的; 关于你说的他是怎么实现的,我能告诉你的是asp是解释执行的语言,访问到这个页面了才开始读取语法然后根据语法输出html至客户端。[/quote] 这段代码在哪里定义的conn?填充的cmd?那我想学习这段代码功能,需要从哪里入手呢?
无爱大叔 2015-01-07
  • 打赏
  • 举报
回复
引用 5 楼 qq_17228139 的回复:
[quote=引用 2 楼 sp1234 的回复:] [quote=引用 楼主 qq_17228139 的回复:] 学做一个如上图的在线考试系统,请问用什么方法把数据库中的题目循环显示在页面中,后台又怎样获取用户选择的答案选项?题目的数据库怎么设计?向前辈们取取经。
这是3个 DataList 嵌套布局。如果你觉得很麻烦,那么就需要编写2个用户控件用来对UI进行分层。 至于后台获取数据,你只要学习嵌套的DataList(或者DataList里边帮定用户控件,用户控件里边再分层处理)编程,就能学到编程方法。 如果在1天内地完成这个例题,可以将数据正确而方便的绑定和保存(答案),基本上就可以算是一个合格的asp.net程序员了。[/quote] 是我没表达清楚。。。用DataList固然可以,我是看到网上一段源码稀里糊涂问出这个问题的 源码: <%if xz<>0 then %> <tr> <td colspan="4" id="BigTitle">一、选择题 <%=ChoiceDes%> </td> </tr> <% NumC=ChoiceNum sqlChoice="select top "&NumC&" * from Choice order by id asc" '这是sql语句不用多说了吧 set rsChoice=server.createobject("adodb.recordset") '创建记录集对象 rsChoice.open sqlChoice,conn,1,1 '打开只读记录集 Do while not rsChoice.eof '循环记录集 For k = 1 to NumC %> <tr onMouseOver="this.bgColor='#F0F7FF'" onMouseOut="this.bgColor='#FAFAFA'"> <td colspan="4"><table width="98%" cellpadding="0" cellspacing="2" align="center"> <tr> <td colspan="2"><b><%=k%>.<%=rsChoice("Topic")%></b></td> </tr> <tr> <td width="50%"><input type="radio" name="Choice<%=k%>" value="A" title="请选择单选“第<%=k%>题”~!" /> A、<%=rsChoice("A")%></td> <td><input type="radio" name="Choice<%=k%>" value="B" title="请选择单选“第<%=k%>题”~!" /> B、<%=rsChoice("B")%></td> </tr> <tr> <td width="50%"><input type="radio" name="Choice<%=k%>" value="C" title="请选择单选“第<%=k%>题”~!" /> C、<%=rsChoice("C")%></td> <td><input type="radio" name="Choice<%=k%>" value="D" title="请选择单选“第<%=k%>题”~!" /> D、<%=rsChoice("D")%></td> </tr> </table> </td> </tr> <% rsChoice.movenext Next Loop rsChoice.close set rsChoice=nothing end if %> 用了一段很奇怪的循环加载<td>,没有使用 DataList 这样的控件实现了题目的加载,他是怎么实现的?上面的代码是什么意思?[/quote] 一点也不奇怪,是你没搞清楚这段源码实际上是asp,而你问的应该是asp.net吧 asp的语法就是你上面发的那样用vbscript作为默认语言的; 关于你说的他是怎么实现的,我能告诉你的是asp是解释执行的语言,访问到这个页面了才开始读取语法然后根据语法输出html至客户端。
qq_17228139 2015-01-07
  • 打赏
  • 举报
回复
引用 3 楼 xiaxiaoying2012 的回复:
最近正在做毕业设计,正好刚做了一个问券调查的系统,跟你上面的页面一样,我是用提交表单的方式向后台传递数据的,感觉用控件不怎么好做
学长,你布局的源码能参考下吗?
qq_17228139 2015-01-07
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
[quote=引用 楼主 qq_17228139 的回复:] 学做一个如上图的在线考试系统,请问用什么方法把数据库中的题目循环显示在页面中,后台又怎样获取用户选择的答案选项?题目的数据库怎么设计?向前辈们取取经。
这是3个 DataList 嵌套布局。如果你觉得很麻烦,那么就需要编写2个用户控件用来对UI进行分层。 至于后台获取数据,你只要学习嵌套的DataList(或者DataList里边帮定用户控件,用户控件里边再分层处理)编程,就能学到编程方法。 如果在1天内地完成这个例题,可以将数据正确而方便的绑定和保存(答案),基本上就可以算是一个合格的asp.net程序员了。[/quote] 是我没表达清楚。。。用DataList固然可以,我是看到网上一段源码稀里糊涂问出这个问题的 源码: <%if xz<>0 then %> <tr> <td colspan="4" id="BigTitle">一、选择题 <%=ChoiceDes%> </td> </tr> <% NumC=ChoiceNum sqlChoice="select top "&NumC&" * from Choice order by id asc" set rsChoice=server.createobject("adodb.recordset") rsChoice.open sqlChoice,conn,1,1 Do while not rsChoice.eof For k = 1 to NumC %> <tr onMouseOver="this.bgColor='#F0F7FF'" onMouseOut="this.bgColor='#FAFAFA'"> <td colspan="4"><table width="98%" cellpadding="0" cellspacing="2" align="center"> <tr> <td colspan="2"><b><%=k%>.<%=rsChoice("Topic")%></b></td> </tr> <tr> <td width="50%"><input type="radio" name="Choice<%=k%>" value="A" title="请选择单选“第<%=k%>题”~!" /> A、<%=rsChoice("A")%></td> <td><input type="radio" name="Choice<%=k%>" value="B" title="请选择单选“第<%=k%>题”~!" /> B、<%=rsChoice("B")%></td> </tr> <tr> <td width="50%"><input type="radio" name="Choice<%=k%>" value="C" title="请选择单选“第<%=k%>题”~!" /> C、<%=rsChoice("C")%></td> <td><input type="radio" name="Choice<%=k%>" value="D" title="请选择单选“第<%=k%>题”~!" /> D、<%=rsChoice("D")%></td> </tr> </table> </td> </tr> <% rsChoice.movenext Next Loop rsChoice.close set rsChoice=nothing end if %> 用了一段很奇怪的循环加载<td>,没有使用 DataList 这样的控件实现了题目的加载,他是怎么实现的?上面的代码是什么意思?
wuhg_2286783337 2015-01-05
  • 打赏
  • 举报
回复
考试系统设置显示问题 //初始化试卷,从数据库中将试题取出 protected void InitData() { DataBase DB = new DataBase(); int paperID = int.Parse(Session["PaperID"].ToString()); SqlParameter[] Params1 = new SqlParameter[2]; Params1[0] = DB.MakeInParam("@PaperID", SqlDbType.Int, 4, paperID); //试卷编号 Params1[1] = DB.MakeInParam("@Type", SqlDbType.VarChar, 10, "单选题"); //题目类型 DataSet ds1 = DB.GetDataSet("Proc_PaperDetailmr", Params1); if (ds1.Tables[0].Rows.Count > 0)//判断下是否有单选题 { GridView1.DataSource = ds1; GridView1.DataBind(); ((Label)GridView1.HeaderRow.FindControl("Label27")).Text = ((Label)GridView1.Rows[0].FindControl("Label4")).Text; } SqlParameter[] Params2 = new SqlParameter[2]; Params2[0] = DB.MakeInParam("@PaperID", SqlDbType.Int, 4, paperID); //试卷编号 Params2[1] = DB.MakeInParam("@Type", SqlDbType.VarChar, 10, "多选题"); //题目类型 DataSet ds2 = DB.GetDataSet("Proc_PaperDetailmr", Params2); if (ds2.Tables[0].Rows.Count > 0) { GridView2.DataSource = ds2; GridView2.DataBind(); ((Label)GridView2.HeaderRow.FindControl("Label28")).Text = ((Label)GridView2.Rows[0].FindControl("Label8")).Text; } SqlParameter[] Params3 = new SqlParameter[2]; Params3[0] = DB.MakeInParam("@PaperID", SqlDbType.Int, 4, paperID); //试卷编号 Params3[1] = DB.MakeInParam("@Type", SqlDbType.VarChar, 10, "判断题"); //题目类型 DataSet ds3 = DB.GetDataSet("Proc_PaperDetailmr", Params3); if (ds3.Tables[0].Rows.Count > 0) { GridView3.DataSource = ds3; GridView3.DataBind(); ((Label)GridView3.HeaderRow.FindControl("Label29")).Text = ((Label)GridView3.Rows[0].FindControl("Label12")).Text; } SqlParameter[] Params4 = new SqlParameter[2]; Params4[0] = DB.MakeInParam("@PaperID", SqlDbType.Int, 4, paperID); //试卷编号 Params4[1] = DB.MakeInParam("@Type", SqlDbType.VarChar, 10, "填空题"); //题目类型 DataSet ds4 = DB.GetDataSet("Proc_PaperDetailmr", Params4); if (ds4.Tables[0].Rows.Count > 0) { GridView4.DataSource = ds4; GridView4.DataBind(); ((Label)GridView4.HeaderRow.FindControl("Label45")).Text = ((Label)GridView4.Rows[0].FindControl("Label17")).Text; }//codego.net/tags/11/1/ SqlParameter[] Params5 = new SqlParameter[2]; Params5[0] = DB.MakeInParam("@PaperID", SqlDbType.Int, 4, paperID); //试卷编号 Params5[1] = DB.MakeInParam("@Type", SqlDbType.VarChar, 10, "问答题"); //题目类型 DataSet ds5 = DB.GetDataSet("Proc_PaperDetailmr", Params5); if (ds5.Tables[0].Rows.Count > 0) { GridView5.DataSource = ds5; GridView5.DataBind(); ((Label)GridView5.HeaderRow.FindControl("Label31")).Text = ((Label)GridView5.Rows[0].FindControl("Label37")).Text; } } //文字数量关系其他类型恕不能全部记载。
xiaxiaoying2012 2015-01-04
  • 打赏
  • 举报
回复
最近正在做毕业设计,正好刚做了一个问券调查的系统,跟你上面的页面一样,我是用提交表单的方式向后台传递数据的,感觉用控件不怎么好做
  • 打赏
  • 举报
回复
引用 楼主 qq_17228139 的回复:
学做一个如上图的在线考试系统,请问用什么方法把数据库中的题目循环显示在页面中,后台又怎样获取用户选择的答案选项?题目的数据库怎么设计?向前辈们取取经。
这是3个 DataList 嵌套布局。如果你觉得很麻烦,那么就需要编写2个用户控件用来对UI进行分层。 至于后台获取数据,你只要学习嵌套的DataList(或者DataList里边帮定用户控件,用户控件里边再分层处理)编程,就能学到编程方法。 如果在1天内地完成这个例题,可以将数据正确而方便的绑定和保存(答案),基本上就可以算是一个合格的asp.net程序员了。
跳动de指尖 2015-01-04
  • 打赏
  • 举报
回复
你的老师没教你吗? ado.net知道是什么吗? 在web中你知道什么是表单吗?

62,254

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧