对于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个数据都不同了!是不是很简单呢?