首先非常感谢你能来看我的贴子我涉及DELPHI不深在ADO方面知道的很少我最近在写数据库的一个考试随机生成测试评分系统,摆在我的面前的问题是:我怎么样能把题库中的东西 随机提取到一张临时表中,等做完了后再清空临时里面
表中的数据比如数据库(exam)中有两张表是:TK(填空题)、XZ(选择题),各有100道题目
其中表的结构是
TK--->tihao,timu,answer,lx(题目类型)
XZ--->tihao,timu,answer1,answer2,answer,lx(题目类型)
TEMP--->tihao,timu,answer1,answer2,answer ,lx(题目类型)现在想把TK中选15道,XZ中30道,放到TEMP表中,都放进去。并且是随机抽去的。怎样做呢?想到这里我又想到个问题,怎么样在窗体中区分开两种不同的类型题目呢?
表中的数据比如数据库(exam)中有两张表是:TK(填空题)、XZ(选择题),各有100道题目
其中表的结构是
TK--->tihao,timu,answer,lx(题目类型)
XZ--->tihao,timu,answer1,answer2,answer,lx(题目类型)
TEMP--->tihao,timu,answer1,answer2,answer ,lx(题目类型)现在想把TK中选15道,XZ中30道,放到TEMP表中,都放进去。并且是随机抽去的。怎样做呢?想到这里我又想到个问题,怎么样在窗体中区分开两种不同的类型题目呢?
select * from #lsb
drop #lsb
以上是实现的基本思路,其它要跟你的实际情况补上相应的条件#是局部临时表的意思,若用##则是全局临时表!
1.确定你的某种题型的题量 x
2.再取得你的系统中有多少如此题型的题量 y,并建立一个数组aa(y)对应每个题的ID
3.使用random在1-y的范围内取得x个随机数
4.以上面取得的随机数在作为aa()数组的下标。第二个问题:
TK(填空题需要用户填写当然需要Tedit),XZ(单选择题需要Option,多选择题则需要checkobx)
select xxxx into #temp from 表 in 集合
生成temp表
select xxxx into #temp from 表 where 题号 in 集合