做个题号字段嘛。比如说题号是1,2,3,4,5,....... 你在前台可以取得题目数,也就是最大题号可以取到。select count(*) as MaxNum from tblname然后你根据MaxNum大小产生1到MaxNum 的随机数就行了啊。如果你取的随机数是:3,8,5,6,4你的SQL可以这样写: select * from tblname where 题号字段名 IN(3,8,5,7,9) 还有: 我要提取具体哪条记录如何写SQL语句,比如我想要第5条记录 数库是逻辑表,没有真正的第几条记录的概念,看你怎么排序了。你可以在你的排序基础上根据一个关键字段判断哪个是第五条。按关键字段来取就行了。(关键字段唯一,可用题号做关键字段)
一、加题号 二、用rand函数
1、 select * from ASP where (题号 IN 1,3,5,7,9)) AND (试卷编号=1) 可以运行。 2、 str:=trim(edit2.Text); adoquery2.Close; adoquery2.SQL.Clear; ssql:='select * from ASP where (试卷编号=1) and (题号 IN ('+str+'))'; adoquery2.Open; 这样不设参数,str:='1,3,5,7,9',题号是integer ,可以完成任务。 3、 现在要在adoquery2中写入参数 select * from ASP where (题号 IN (:tihao)) AND (试卷编号=1) adoquery2.Parameters[0].Value:=edit1.text;运行后,返回空数据集,用的是D7 ,请问错在哪里?
从中取M,M《N道题,先确定题号,再一次性取出。select * from tblname where
题号 IN(题号1,题号2,.......)
2,.....
A人是1,3,5,6,7题,B人可能是1,2,5,6,7 不要求一样还有: 我要提取具体哪条记录如何写SQL语句,比如我想要第5条记录
你在前台可以取得题目数,也就是最大题号可以取到。select count(*) as MaxNum from tblname然后你根据MaxNum大小产生1到MaxNum 的随机数就行了啊。如果你取的随机数是:3,8,5,6,4你的SQL可以这样写:
select * from tblname where 题号字段名 IN(3,8,5,7,9)
还有: 我要提取具体哪条记录如何写SQL语句,比如我想要第5条记录
数库是逻辑表,没有真正的第几条记录的概念,看你怎么排序了。你可以在你的排序基础上根据一个关键字段判断哪个是第五条。按关键字段来取就行了。(关键字段唯一,可用题号做关键字段)
二、用rand函数
where (题号 IN 1,3,5,7,9)) AND (试卷编号=1) 可以运行。
2、
str:=trim(edit2.Text);
adoquery2.Close;
adoquery2.SQL.Clear;
ssql:='select * from ASP where (试卷编号=1) and (题号 IN ('+str+'))';
adoquery2.Open;
这样不设参数,str:='1,3,5,7,9',题号是integer ,可以完成任务。
3、
现在要在adoquery2中写入参数
select * from ASP
where (题号 IN (:tihao)) AND (试卷编号=1) adoquery2.Parameters[0].Value:=edit1.text;运行后,返回空数据集,用的是D7 ,请问错在哪里?