有序号吗,如果有,选5个随机的id号,然后 select a from xxx where id in (1,2,3,4,5)
procedure TForm1.Button1Click(Sender: TObject); var i:Integer; begin adoquery1.Sql.Text :='select top 5 a from spt_datatype_info order by newid()'; adoquery1.Open(); for i := 0 to adoquery1.recordcount - 1 do begin (FindComponent('label'+inttoStr(i+1)) as TLabel).Caption := ADOQuery1.FieldBYname('a').AsString; adoquery1.Next; end; end;
access在程序中先产生随机5个数 select * from t where id in (…)MSSQL用newId() select Top 5 * from t order by newid()
用randomrange(1,9999)取随机数,组成集合 select * from t where id in 集合
select a from xxx where id in (1,2,3,4,5)
var i:Integer;
begin
adoquery1.Sql.Text :='select top 5 a from spt_datatype_info order by newid()';
adoquery1.Open();
for i := 0 to adoquery1.recordcount - 1 do
begin
(FindComponent('label'+inttoStr(i+1)) as TLabel).Caption := ADOQuery1.FieldBYname('a').AsString;
adoquery1.Next;
end;
end;
select * from t where id in (…)MSSQL用newId()
select Top 5 * from t order by newid()
select * from t where id in 集合
这样的前5条其实是随机的5条了