大家看我这段代码吧
qx.Close;
qx.SQL.Clear;
qx.SQL.Add('select * from 选择题');
qx.Open;
qx.First;
i:=1;
while i<=x1 do
begin
randomize;
qx.first;
qx.MoveBy(Random(qx.recordcount));
i=i+1
end
我这样取的记录总是有重复的,所以我希望能取到不重复的随机数呀。这样我在出来5条记录的时候才不会重复。因为这是个出题的程序。
我如何才能实现呢?
我想在while语句下设一个语句,把已经出的题标识一下,可以如何标识qx.MoveBy(Random(qx.recordcount));这条记录呢?
哎呀呀!!愁傻我了!
qx.Close;
qx.SQL.Clear;
qx.SQL.Add('select * from 选择题');
qx.Open;
qx.First;
i:=1;
while i<=x1 do
begin
randomize;
qx.first;
qx.MoveBy(Random(qx.recordcount));
i=i+1
end
我这样取的记录总是有重复的,所以我希望能取到不重复的随机数呀。这样我在出来5条记录的时候才不会重复。因为这是个出题的程序。
我如何才能实现呢?
我想在while语句下设一个语句,把已经出的题标识一下,可以如何标识qx.MoveBy(Random(qx.recordcount));这条记录呢?
哎呀呀!!愁傻我了!
解决方案 »
- DBgrideh按tab如何不移到第一行
- Pos打印机编程的Assignfile(MyFile,'lpt1')问题,急!
- 关于以listbox中的一项为查询条件进行查询的问题.....
- 急~~~~~~~~~~~关于mscomm串口通信问题
- delphi6 and delphi2005能否同时安装到一台电脑上?
- quickreport中分两拦显示 ,然后在根据连续的编号连续打印问题
- 请问这样的错误是哪里的问题?
- 在先等待,高分求助!!!!
- 我是杭州的程序员,失业了,CSDN的朋友帮我找个工作吧。
- 救命 fastreport 问题?在打印时出现 fastreport_unregisterde 为注册字样!!!!
- tdbchart控件横坐标问题
- 关于TABSHEET页面切换的问题。
你就设一个五个元素的数组,把数据初始的值初始化为很大的值,大于你的数据库中题的记录数,这样刚开始才不会有重复,然后在while中,每产生的一个随机数,就把这个随机数和数组中的每个元素比较,如果有重复,就跳过,再产生一个,到没有重复。把这个没有重复的数存入数组相应的位置(i)。如果到i等到五,
那么里面的五个元素就没有重复了。
希望能更改我的代码!谢谢