导航:
论坛 -> DELPHI技术
斑竹:liumazi,sephil
作者:
2003/12/12 19:42:43
标题:
以Access为数据库写一个中奖程序,如何从数据库中一次随机抽出多条记录。
浏览:1856
加入我的收藏
楼主:
以Access为数据库写一个中奖程序,如何从数据库中一次随机抽出多条记录。
----------------------------------------------
DELPHI家园QQ群:186629229
作者:
2003/12/12 20:50:54
1楼:
用select语句应该可以吧
----------------------------------------------
-
作者:
bios (阿贡)
★☆☆☆☆
-
盒子中级会员
2003/12/12 21:02:48
1楼:
procedure TForm1.Button1Click(Sender: TObject); var k,i,j,m:Longint; s,t:string; begin Randomize; k:= random(listbox1.Items.Count div 2 + 1);//抽的个数随机 if k=0 then k:=2; listbox2.Items.Clear ; for i:=1 to k do begin m:= random(listbox1.Items.Count); s:=listbox1.Items.Strings[m]; if listbox2.Items.IndexOf (s)<0 then listbox2.Items.Add(s); end; end; 只是模拟一下算法!
----------------------------------------------
作者:
2003/12/12 22:00:05
2楼:
说明一下。
----------------------------------------------
DELPHI家园QQ群:186629229
作者:
2003/12/13 8:58:24
3楼:
procedure GetNumber(DataSet : TDataSet); const COUNT = 5; //产生5个号码 var i : Integer; begin Randomize; ListBox1.Items.Clear; for i := 0 to COUNT -1 do begin DataSet.RecNo := Random(DataSet.RecordCount -1); ListBox1.Items.Add(DataSet.FieldByName('Number').AsString); //要使用缓冲或事务,不然真会删除掉 DataSet.Delete; end; end;
----------------------------------------------
米软科技有限公司 http://www.szmesoft.com
作者:
2003/12/13 9:25:26
4楼:
DataSet.RecNo := Random(DataSet.RecordCount -1);这句什么意思。
----------------------------------------------
DELPHI家园QQ群:186629229
作者:
2003/12/13 13:05:50
6楼:
procedure GetNumber(DataSet : TDataSet); const COUNT = 500; //产生500个号码 var i : Integer; begin Randomize; ListBox1.Items.Clear; for i := 0 to COUNT -1 do begin DataSet.RecNo := Random(DataSet.RecordCount -1); ListBox1.Items.Add(DataSet.FieldByName('Number').AsString); //要使用缓冲或事务,不然真会删除掉 DataSet.Delete; end; end; 出现如下错误
此帖子包含附件: 大小: 21.5K
----------------------------------------------
DELPHI家园QQ群:186629229
作者:
2003/12/14 17:00:12
7楼:
DataSet.RecNo := ABS(Random(DataSet.RecordCount -1))+1; 试试!
----------------------------------------------
米软科技有限公司 http://www.szmesoft.com