如何随机抽取数据库中的记录!(100分)

  • 主题发起人 主题发起人 muzzle
  • 开始时间 开始时间
M

muzzle

Unregistered / Unconfirmed
GUEST, unregistred user!
哪位知道如何从一个数据库中随机抽取任意多个记录的方法,必有重谢!
 
能否具体点?
一个恶劣的方法: 用TTable或者TQuery with "Select * from xxx"打开表, 然后
在Table or Query的OnFilterRecord事件里随机决定Result为True or False.
 
首先你要有产生随机数的函数,ran(i)产生(0,1)间的随机数,取整的
函数int(),
0)初始化一个selected[inputnumber]的数组,所有的值为-1
1)table1.open
2)reccount:=table.recodcount<-table里的记录数
2)for x:=1 to inputnumber do
begin
findit:=false;
while(findit=false) do
begin
k:=int(ran(i)*reccount); //随机的记录号
for y:=1 to x do
begin
if selected[y]=k then //是否此记录号前面已选过
begin
break for;
findit:=true;
end;
if findit:=false then //找出无重复的记录号后,读到临时表
begin
table.move(k);<-移到第k条记录
把这条记录读入临时表;
selected[x]:=k
end;
end;
end;
end;
读出临时表;
 
多人接受答案了。
 
后退
顶部