当前位置:主页>销售管理软件> 列表

随机返回记录 找管家婆软件价格

销售管理软件版1楼: 我查询时,假设结果有20条记录,我我实现在结果里随机抽取10 记录,也就是随机返回10条记录,怎么实现? 是不是用random?怎么搞?谢谢!!!1

2楼: procedure TForm1.Button2Click(Sender: TObject);
var
sSel: array of Boolean;
iCount,iLoop,iRan,iSelCount: Integer;
begin
iLoop := 0;
iSelCount := 10; //这里设定要随机选择的数量
Randomize;
with ADOQuery1 do
begin
SQL.Clear;
SQL.Text := ''SELECT......'';
Open;
//产生10个不重复的随机数,以布尔值的方式保存在数组里
iCount := RecordCount; //这里是记录的
SetLength(sSel,iCount);
//这里防止数据集的记录的数量少于随机选择的数量的情况
if iSelCount > iCount then iSelCount := iCount;
while iLoop < iSelCount do
begin
iRan := Random(iCount);
if not sSel[iRan] then
begin
sSel[iRan] := True;
Inc(iLoop);
end;
end;

iLoop := 0;
iRan := 0;
First;
while not EOF do
begin


if sSel[iLoop] then
begin
ShowMessage(''这是随机挑选的记录'');
Inc(iRan);
if iRan = iSelCount then Break;
end;
Inc(iLoop);
Next;
end;
Close;
end;
end; 如管家婆软件价格

3楼: 我先试试行就给你加分,对了newid()函数是什么意思?
select top 10 * from tablename order by NEWID() 。对access有用吗?

4楼: 上面的代码可以确定返回的数据集里面那些数据是随机产生的,那么把这10条记录取出来怎么搞,有什么好方法?

5楼: RAND ( [ seed ] )

6楼: http://www.ivdown.com/welcome.aspx?sid=25340

销售管理软件版7楼: select top 10 * from tablename order by NEWID()
----
在sql server中可以使用,NEWID创建 uniqueidentifier 类型的唯一值。

8楼: 不是很明白楼主的意思,
ShowMessage(''这是随机挑选的记录'');
这句这里就可以用读取数据的代码来替代。

9楼: table 有个方法是batchmove(源数据集,方式)可以从其他的数据集里取数据,不知道在adotable里面用那个方法?我找了半天都找不到

10楼: 接受答案了.