随机取得记录(50分)

  • 主题发起人 主题发起人 nxyzg
  • 开始时间 开始时间
N

nxyzg

Unregistered / Unconfirmed
GUEST, unregistred user!
如有库 aa,20条记录 如何在aa库中随机取出10条不同的记录写入bb库?
 
用Round产生隨机数,来确定记录号。当然要判断是否重复。
 
什么数据库?
 
procedure TForm1.Button1Click(Sender: TObject);
var
st, i, k, num: byte;
reco: array[0..9] of byte;
suc: boolean;
begin
table1.Open; //aa
table2.Open; //bb
table2.edit;
st := table1.RecordCount;
for i := 0 to 9 do reco := 0;
i := 0;
while (i < 10) do
begin
Num := Random(st) + 1;
table1.first;
table1.MoveBy(Num - 1);
suc := true;
k:=0;
while (k<i) and suc do
begin
if reco[k] = Num then suc := false;
k:=k+1;
end;
if suc then
begin
reco := num;
table2.append;
table2.Fields[0].AsString := table1.Fields[0].AsString;
i := i + 1;
end;
end;
table1.close;
table2.post;
table2.close;
end;
 
To nxyzg
怎么没反应!
 
select top 10 * from 表名
order by newid()
 
To linsb
不好意思,出差了几天。
 
后退
顶部