Access数据库使用sql语句随机提取若干条数据

关键词:

对于Access数据库存在随机提取数据的sql语句如下:


"SELECT TOP 10 * FROM [表1] ORDER BY Rnd(id) "
但是由于rnd伪随机和access的缓存问题,提取出的10个数据虽然是随机的,但每次打开都是同一批。



如何解决这个问题?


在asp.net里面正确使用access随机提取数据的代码如下:


Random random = new Random(System.Guid.NewGuid().GetHashCode());
 r = random.Next();
AccessDataSource0.SelectCommand = "SELECT TOP 10 blogTitle,blogUrl,topic FROM [blog] ORDER BY Rnd("+(-r)+"*id) ";


r是一个int随机数,这样就可以做到access数据源(accessdatasource0是前台建立的数据源)每次的10个数据都不同了!是不是很简单呢?


作者:songshizhao 发表于:2017-02-19T10:02:01 访问量:1264
评论 [发表评论]