发现:用where in查询后,记录集原来不是按照in后面内容的顺序排列!

ztt918zx ztt918zx 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
编写一个随机抽题的考试系统,发现sql中按照where in的方式取得的记录集不是按照where in后面的选择列表顺序排列,如何解决,还请各位高人指点,谢谢!!!!积善之家必有余庆!!!

简单来说,就是
sql="select * from question1 where id in('5','3','1')"
我希望记录集的顺序是5 3 1
但是实际情况是1,3,5


抽题.asp
sql="select top 100 * from question1 where  type='单选题' order by NewID()   
'实现随机抽取题目的sql语句
.....
for i=1 to 100
......‘打印试题
strid1=strid1 & rs("ID") & "," ’记录随机抽取的每道题题号
rs.movenext
......
next


改卷.asp

id1=split(str1,",")
sql="select answer from question1 where id in("+str1+")"
'经测试,str1中存放着随机抽取的题号,比如5,3,6,10,...
'本希望记录集的顺序是按照str1中存放的随机id来显示的
rs.open sql,conn,1,1
rs.movefirst
‘下面判分改卷

经过检查,rs记录集中没有按照预期估计的5,3,6,10,...的随机抽取的题号作为顺序显示的,而是按照1,2,3,...100的顺序显示,这样的话,就会造成改卷时题号字段(随机)和答案字段(顺序)对不上的问题了,请问这种问题怎么解决呢?谢谢
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
ztt918zx
ASP 28,401 成员 356,940 内容