想做一个在线测试模块,数据库里面有很多选择题,不过如何做到随机出题那,大家有什么好的思路?作者: 马胜骁 时间: 2013-3-16 18:20
selct count(*) from table 能得到 数据库中一共有多少个选择题,在c#中用int count 来接收吧 用 Random rand=new Rndom(count) 随机返回一个rand ,然后利用这个rand 做ID查询出来这道选择题,不好意思,初次回答问题,叙述不太清楚,不懂得欢迎再来问我,希望能帮到你,如果数据库中ID不连续,可以试着用这个查询一下select * from (select row_number() over(order by id) row_id,* from book) book1 where book1.row_id=2作者: 石国庆 时间: 2013-3-16 19:59
马胜骁 发表于 2013-3-16 18:20
selct count(*) from table 能得到 数据库中一共有多少个选择题,在c#中用int count 来接收吧 用 Random ra ...
from里面的语句能具体的解释一下吗?作者: 王起 时间: 2013-3-16 21:06
先得到总题数,然后用 Random 产生1到总题数之中的一个随机数,根据随机数, Select 题目 from 表名 where 题目编号='随机数' 作者: 王起 时间: 2013-3-16 21:07
不知道我这思路行不行,你可以试试!作者: 马胜骁 时间: 2013-3-18 10:26
from 里面的是ROW_namuber 函数,主要是用来表中生成一个从1开始连续的ID,这样方便你以为的输出。作者: 石国庆 时间: 2013-3-19 11:07
马胜骁 发表于 2013-3-18 10:26
from 里面的是ROW_namuber 函数,主要是用来表中生成一个从1开始连续的ID,这样方便你以为的输出。 ...
Select top10 * from test where testcourse=’”+Session[‘NM’].ToString()+”’ order by newid()这是我以前见到的一个方法,主要靠newid()方法,然后输出到dataset.与大家分享一下作者: 石国庆 时间: 2013-3-19 11:07
王起 发表于 2013-3-16 21:07
不知道我这思路行不行,你可以试试!
Select top10 * from test where testcourse=’”+Session[‘NM’].ToString()+”’ order by newid()这是我以前见到的一个方法,主要靠newid()方法,然后输出到dataset.与大家分享一下