注册 登录
编程论坛 ASP.NET技术论坛

[请指教]在asp.net中的随机抽题算法(代码的问题)[已经解决,谢谢大家]

chenyu 发布于 2007-04-22 18:14, 837 次点击

我做的网络考试系统前台及后台的基本功能都能实现了,但是现在卡在如何进行抽题的算法上。
我的思路是先从数据库的题目表td_Timu中选择要进行抽题的专业,然后在符合专业要求的题目中做随机抽题。
现在的问题是,抽出来的题目用不用再单放在一个表中存储?还是把题目表中该题的所属套题字段修改成套题的名称做个标示就可以了?
谢谢指教!


先不考虑存储的问题了,现在的问题是,我随机抽出的题目跟我要要的题目数目对不上。我用的是visual studio2005,我先写个一个数据库的类Datacon,其中ecadabind方法已经在该类中定义。

public partial class CESHI : System.Web.UI.Page
{
Datacon dataconn = new Datacon();
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
dataconn.ecadabind(GridView1, "select top 3 * from tb_Questions order by newid() ");//随机抽取3道题目


}

}
用红色标示出的部分有什么错误吗?为什么每次运行的时候都只随机显示一道题目,而不是3道呢?

[此贴子已经被作者于2007-4-23 10:41:57编辑过]

7 回复
#2
chenyu2007-04-22 22:00
#3
chenyu2007-04-23 08:36
#4
chenyu2007-04-23 08:45
呵呵,解决了,我把红色的部分改成了 dataconn.ecadabind(GridView1, "select top 2 * from Timu_Taoti_Kcheng_view order by newid() ");在视图中查找,可是为什么在试图中查找就能题的数目正确呢?有朋友能给解释一下吗?谢谢了:)
#5
bygg2007-04-23 09:11

select top 3 * from tb_Questions order by newid()

这句也没有错啊.

#6
chenyu2007-04-23 09:15
所以不知道问题出在哪了:(
#7
chenyu2007-04-23 09:17
是不是因为我tb_Questions表中没有uniqueidentifier类型的数据列呢?
#8
chenyu2007-04-23 10:41
解决了,只要GridView中绑定的类型都是表中有的字段就可以了:)
1