想做考试系统,怎样利用随机函数从表table1中随机选取5条记录显示出来?例如显示table1的字段a在5个label上,这究竟该怎么做啊?

解决方案 »

  1.   

    有序号吗,如果有,选5个随机的id号,然后
    select a from xxx where id in (1,2,3,4,5)
      

  2.   

    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;
      

  3.   

    access在程序中先产生随机5个数
    select * from t where id in (…)MSSQL用newId()
    select Top 5 * from t order by newid()
      

  4.   

    用randomrange(1,9999)取随机数,组成集合
    select * from t where id in 集合
      

  5.   

    楼上请查MSDN或百度newid()函数的意思,再实验一下
      

  6.   

    order by newid()就是按随机排序
    这样的前5条其实是随机的5条了