试题库

shengy888 2009-09-18 03:45:48
我做了一个考试页面的系统:意思就是这样的,从数据库中随机抽取一定量的题目,ID号小的排在最前面,如果出现相同的ID号,则重新抽取一个号,然后把所有ID号所对应的题目输出来。帮我修改一下,或者你直接重新写给我一段代码,在此表示感谢!
<%
Sub f(x)
MyArray(i)=int(rsTest.recordcount*rnd+1) 'MyArray(i)是题号
End Sub
Redim MyArray(intSSCount)
randomize timer
for i=1 to intSSCount
call f(i)
if i>2 or i=2 then
for i=i to 2 step -1
if MyArray(i)==MyArray(i-1) then
Call f(i)
end if
next
end if
next


for i =1 to intSSCount -1 'n-1次比较
for j=i+1 to intSSCount
if MyArray(i)>MyArray(j) then
temp=MyArray(i)
MyArray(i)=MyArray(j)
MyArray(j)=temp
end if
next
next
%>
...全文
87 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
syjeffdyg 2010-04-03
  • 打赏
  • 举报
回复
这么小气,10分,人才啊,我可从没给少于100分的.
最好的处理是把题目全部抽出来,放到视图中
然后随机抽题,抽到了的从视图中删除,这样就不会重复了.
shengy888 2010-04-03
  • 打赏
  • 举报
回复
不行呀,我试过了。谢谢哈
shenzhenNBA 2009-09-18
  • 打赏
  • 举报
回复
感觉比较乱。。。
个人建议,f(x)改成随即生成题号,即ID号,每次生成的ID不在数组中,才保存到数组中,相同的则重新生成ID号,
bo3235 2009-09-18
  • 打赏
  • 举报
回复
从数据库中随机抽取一定量的题目,建议你用SQL实现


select * from (
select top 20 id from [020_Product_Main] order by newid()) aa order by aa.id asc


newid()的意思请BAIDU下

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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