首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

ACCESS取随机记录的方法无效?解决方案

2012-04-21 
ACCESS取随机记录的方法无效?我用一个ADOQUERY来取记录table1如下:id123SQL如下select top 1 * from table

ACCESS取随机记录的方法无效?
我用一个ADOQUERY来取记录
table1如下:
id
1
2
3

SQL如下
  select top 1 * from table1 order by rnd(:r)

步骤:
先active:=false
再对r赋random值(之前已经randomize):
  adoquery1.Parameters.ParamValues['r']:=-random*100;

最后再active:=true

但是执行的结果在dbgrid是
id
3
2
1

且不说TOP被忽略,每回返回的结果也是一样的,完全不对的说,到底怎么取呢?

[解决办法]

Delphi(Pascal) code
'select Top 1 * from table1 order by rnd(-id+'+inttostr(random(100))+')';
[解决办法]
order by?

热点排行