请教如何用VB实现在数据库中随机抽取试题!

zhuanzhu_zhizhuo 2006-07-21 10:03:19
我在做一个考试系统
其中有一小块是想在数据库中随机的抽选一份题,然后显示在一个窗体上
现在思路混乱,还请高手赐教!
...全文
332 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbman2003 2006-07-21
  • 打赏
  • 举报
回复
ACCESS用rnd排序的话,每次运行程序得到的随机数据次序都是一样的。所以只能按前面大家所说的那些方法处理
vbman2003 2006-07-21
  • 打赏
  • 举报
回复
newid是SQL server的函数
select top 1 * from tb order by newid()
就是随机返回表tb中的一条数据
zhuanzhu_zhizhuo 2006-07-21
  • 打赏
  • 举报
回复
请问楼上,select top 1 * from tb order by newid()
newid()是表中的列名吗,能给具体解释一下这句话吗?!
多谢!不久给分

zhuanzhu_zhizhuo 2006-07-21
  • 打赏
  • 举报
回复
那若是用ACCESS呢?!
vbman2003 2006-07-21
  • 打赏
  • 举报
回复
SQL server数据库的话:
select top 1 * from tb order by newid()
of123 2006-07-21
  • 打赏
  • 举报
回复
这样:
'假定你已经建立了一个记录集

rs.movelast '遍历记录,得到记录数
rs.movefirst

Randmize
rs.move Int(rnd() * (rs.recordcount + 1))

然后直接从记录取数据。
一笑拔剑 2006-07-21
  • 打赏
  • 举报
回复
Dim n(1 To n), i, j, q

For i = 1 To 370
n(i) = 0
Next
j = 0
Randomize Timer
While j < 10
q = Int(Rnd(1) * n + 1)
If n(q) = 0 Then
Print q
n(q) = 1
j = j + 1
End If
Wend
n就是你数据库中的项目数
这样就随机从中取出一个项了
关键是
Randomize Timer
q = Int(Rnd(1) * n + 1)
这样就会产生一个从 1- n的随机数
zhuanzhu_zhizhuo 2006-07-21
  • 打赏
  • 举报
回复
请给些代码,多谢!
一笑拔剑 2006-07-21
  • 打赏
  • 举报
回复
rnd
zhuanzhu_zhizhuo 2006-07-21
  • 打赏
  • 举报
回复
多谢各位高手的帮助!

7,786

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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