asp+access 实现随机出题怎么实现
想用asp+access做一个在线考试系统,请问如何实现随机从access数据库中抽题而不会重复呢?
random函数用上。
想不重复的话 只有用一个数组保存你的试题id了
每当抽出一个id 就和数组中的id比较 如果相等,就不取出id了,不等的话 就取出id来。然后把这个不重复的id添加到那个数组中
或者像节约点时间:把抽出的题目id从小到大排序,然后取出重复的id
方法一:有人用如下代码以记录总数为极大值来首先提取出指定数量的随机数,然后以这些随机数做为记录ID。
VBScript代码:
dim n,j
dim su()
dim a,b,k
b=myrs.RecordCount
Randomize
redim su(index_N)
su(1)=Int((b * Rnd) + 1)
for n=2 to index_N
a=Int((b * Rnd) + 1)
for j=1 to n
do while a=su(j)
a=Int((b* Rnd) + 1)
j=1
loop
next
su(n)=a
next
这种方式有一些问题,就是当主键ID不连续的话,有可能某些随机数不存在ID序列当中。另外ID的最大值与总的记录值不一定相等,这样有些记录ID会永远被忽略。
方法二:有人采用一条SQL语句解决此问题
select top 5 * from Table1 order by Rnd()*5
这条语句可以随机从Access数据库中摄取5条记录。但是实际操作中,其生成的记录结果是固定的,失去了随机摄取记录的意义。
方法三:有这样一种方法。
利用随机数生成主键的记录ID
yourstr=
相关问答:
本人有三年开发经验,现在找工作(厦门),,,有意者请联系QQ:523054271
1.5年工作经验找工作 他要多少 我要一半~~
别说三年的了...就是5年的也一抓一大把.....
俺需要用asp+access做一个进销存软件,您能做 ......
http://www.zgjhjy.com/Test/PrimaryTest/Index.aspx
就是类似以上的在线测试系统,需要有一个后台的,语言是asp的,数据库是access的,还需要能在后台对信息进行添删改查的。谢谢各位了。。。
程序真的很多,不知 ......
ASP.NET MVC架构发布了,你用了吗?
还在学习中
我也在学习。买书,听教程,看网上资料,下载例子,感觉听不错的,不过比起工厂模式,似乎逊色了点。。。欢迎到我博客互相学习
都用了5个版本了 从 PV1 到beta ......
Dbgrid连接access 显示数据时拖动滚动条死机?怎么解决啊?
机器太差了吧?
是不是你数据量太大了啊
你数据少一些看看还死机吗?
数据很少啊 就一页。
我在BCB6下做过不少 DBGRID+ACCESS ,从来没有遇到 ......