补充一下:
access中的rnd函数在access环境下使用的话,直接select * from tb order by rnd(id)就可以了
但是如果在程序中通过数据库引擎去访问mdb文件的话,如上使用就会生成重复的随机序列..
解决的办法就是利用这个rnd(number)函数的特性,当其number(Single类型)为负值的时候,会产生一个固定的随机序列,这样只要每次查询随机生成一个不同的负值的number,就可以得到不同的随机序列...
所以,4楼示例中:
"select * from tb order by rnd(" + r + "* id) ";
"select * from tb order by rnd(" + r + "- id) ";
都是可以的....
Random rd = new Random();
int r = - rd.Next(0,100000) ;
string sql = "select * from tb order by rnd(" + r + "* id) ";
//id是你数据库中的一个int型字段,最好是主键
//......