小女子请教!如何实现自动判分?急!

wj00874 2003-06-01 08:13:59
我在搞毕业设计,用Asp.net做在线测试系统。要求每次从数据库中question表里随机抽出十条选择题(单选题)组成一张试卷,这十条题目中不可有重复的。
我在数据库中建了个question表,该表有如下字段:id,timu,A,B,C,D,answer
id:题目的自动编号;
timu:存放题目;
A,B,C,D:分别存放单选题的四个选项内容;
answer:存放正确答案;
现已用"select top 10 * from question where selectname="难" order by newid()"语句实现了随机组卷,但怎么获得选中的十条题目的id?我想利用id找到该题的正确答案,再与做卷人选的答案对比判断正确与否,自动生成测试分数。
我用的是DataList和RadioButton这两个控件,代码如下:
<asp:DataList id="dlquestion" runat="server" RepeatDirection="vertical">
<ItemTemplate>
<asp:Label id="Label1" runat="server" Text='<%# DataBinder.Eval(Container, "ItemIndex")+1 %>'></asp:Label>
、<%# DataBinder.Eval(Container.DataItem,"question")%>
<br />
<asp:RadioButton id="A" GroupName="xuan" runat="server" />
A、<%# DataBinder.Eval(Container.DataItem,"A")%>
<br />
<asp:RadioButton id="B" GroupName="xuan" runat="server" />
B、<%# DataBinder.Eval(Container.DataItem,"B")%>
<br />
<asp:RadioButton id="C" GroupName="xuan" runat="server" />
C、<%# DataBinder.Eval(Container.DataItem,"C")%>
<br />
<asp:RadioButton id="D" GroupName="xuan" runat="server" />
D、<%# DataBinder.Eval(Container.DataItem,"D")%>
<br />
<br />
</ItemTemplate>
</asp:DataList>

请高手帮忙,给点意见!

...全文
32 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
thetuxedo 2003-06-02
  • 打赏
  • 举报
回复
the design of your table is terrible and inflexible.

1. what if the question has 3 choices or 5 choices?
2. what if i want display different feedback based on the choice user choosed?
3. what if each choice will be graded differently
(choise a: 5 point, choice b: 4 point, choice c: 3 point .....)
4. what if I want questions of multiple reponse(answer) or fill in blank type?
5. do you plan to support html code in your question and answers?

by the way, the names of your fields are funny. Timu is pingying, answer is english, inconsistent.
thetuxedo 2003-06-02
  • 打赏
  • 举报
回复
are you kidding? 楼上的两位不要乱说啊.
order by newid() can gurantee the result is random.

newid will generate new value of guid type, and the result will be unique and random, it is a function! not a field!
rgbahnh 2003-06-02
  • 打赏
  • 举报
回复
条理混乱,请解释清楚再问
reddg 2003-06-02
  • 打赏
  • 举报
回复
现已用"select top 10 * from question where selectname="难" order by newid()"语句实现了随机组卷

>>>即时有selectname和newid这两个字段,你每次运行这条语句结果通常会一样。又怎么实现随机组卷

看样子你的毕业设计自己做是没戏了:)
LinYeCunFu 2003-06-02
  • 打赏
  • 举报
回复
呵呵,楼主MM,你建的表中根本就没有selectname和newid这两个字段,

请问你如何能从表中得到你要的数据???
Johnzeng 2003-06-02
  • 打赏
  • 举报
回复
我看也看不懂!在混饭吃的! 我应该向你们看齐
panzh10 2003-06-02
  • 打赏
  • 举报
回复
我的毕业设计也是这个题目,已经做的差不多了,你的问题我可以解决,我也有些问题请教你,请问你是那个大学的MM?我的QQ:149070264。
xiangcool 2003-06-02
  • 打赏
  • 举报
回复
请问newid()是个什么函数?可以实现随机功能?我以前搞随机都是用算法实现
wj00874 2003-06-02
  • 打赏
  • 举报
回复
可不要小看人吆,我的毕业设计包含:基础教程,典型例题,答疑论坛,聊天室,网上作业及在线测试 六个模块,在线测试只是我毕业设计的一个模块,现在我的设计只差这一个功能没实现了,所以我也不是太差吆!
哦,昨天发帖太匆忙,漏写了!现更正如下:
我在数据库中建的question表,该表有如下字段:id,timu,A,B,C,D,answer,selectname
id:题目的自动编号;
timu:存放题目;
A,B,C,D:分别存放单选题的四个选项内容;
answer:存放正确答案;
selectname:存放试卷的难度系数

还有,"select top 10 * from question where selectname="难" order by newid()"语句可是高手指点的绝对正确,我已试过了!
fxmpch 2003-06-01
  • 打赏
  • 举报
回复
看不懂你的,好像是从书上抄的吧
elliot 2003-06-01
  • 打赏
  • 举报
回复
你这个是数据库设计问题
select top 10 * from question where selectname="难" order by newid()
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~这些是什么意思?

62,254

社区成员

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

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

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

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