【高分】aecss 如何随机查询,急问,在线等....

tiandejun 2009-08-06 03:34:19
加精
acess 如何利用SQl语句随机查询一条记录,而在每一次查询结果都不一样???

差了很多资料,都只能查询一次,以后都一样了。。。。。

请问谁有好的办法??先谢过了!

急问,有答案即结贴!
...全文
1302 83 打赏 收藏 转发到动态 举报
写回复
用AI写文章
83 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhangxh_359 2011-01-17
  • 打赏
  • 举报
回复
学习 学习
jkchem 2010-08-27
  • 打赏
  • 举报
回复

学习ing
zhyang0824 2010-06-08
  • 打赏
  • 举报
回复
引用别人的,主要是ADO缓存的问题


protected void Page_Load( object sender, EventArgs e )
{
Random rnd = new Random(unchecked((int)DateTime.Now.Ticks));
int intRandomNumber = rnd.Next();
string ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\aspxWeb.mdb;Persist Security Info=True";
string sql = "select top 10 Title,objectGuid from Document Order By Rnd(" + (-1 * intRandomNumber) + "*id)";
System.Data.OleDb.OleDbConnection cn = new System.Data.OleDb.OleDbConnection(ConnectionString);
cn.Open();
System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand(sql, cn);
System.Data.OleDb.OleDbDataReader dr = cmd.ExecuteReader(System.Data.CommandBehavior.CloseConnection);
GridView1.DataSource = dr;
GridView1.DataBind();
dr.Close();
cmd.Dispose();
cn.Dispose();
cn = null;

}
zhao3pzb 2009-08-13
  • 打赏
  • 举报
回复
向各位高手学习一下!~~
顺便帮忙顶下
gaoyp 2009-08-13
  • 打赏
  • 举报
回复
学习——其实是为了回帖的10分,顺便帮LZ顶!
zhangyongqi888 2009-08-13
  • 打赏
  • 举报
回复
看看
kiba518 2009-08-12
  • 打赏
  • 举报
回复
观看
Thinking_In_IT 2009-08-12
  • 打赏
  • 举报
回复
废话不多说,见代码如下:

<html>
<body>
<script type="text/javascript">
var Javascript = Math.random();
var JavascriptL = parseInt(Javascript*100);
//需要把JavascriptL存到数据库的临时表里去,记录最后一次产生的随机数是否与本次的相同,相同则继续产生。
document.write("<br><br>Javascript随机函数生成的0-99的整数为"+JavascriptL+"<br><br>请刷新网页查看效果")
</script>
</body>
<!-->
select * from table where id="+JavascriptL+"
<-->
</html>
Thinking_In_IT 2009-08-12
  • 打赏
  • 举报
回复
[Quote=引用楼主 tiandejun 的回复:]
acess  如何利用SQl语句随机查询一条记录,而在每一次查询结果都不一样???

差了很多资料,都只能查询一次,以后都一样了。。。。。

请问谁有好的办法??先谢过了!

急问,有答案即结贴!
[/Quote]

1)第一步,在HTML页面(ASP或JSP)使用JS产生一个随机数(例如1-100)。在数据库中使用一个自增字段

(例如:ID)唯一标识一条记录。

2)第二步:获取页面上的随机数,执行查询:select * from table where id ='"+id+"'(id里面存的

是页面传过来的参数)

备注:为了使每次取得数据都不一样,需要保存上一次的随机数值并和本次做个比较。如果相等就再产生一

个,直到不相等为止。
chen0411101 2009-08-12
  • 打赏
  • 举报
回复
xuexi
san8158 2009-08-12
  • 打赏
  • 举报
回复
学习!!
gz284596265 2009-08-12
  • 打赏
  • 举报
回复
先产生随即种子 然后用随机函数返回值 作为记录移动的目标
上官码农 2009-08-12
  • 打赏
  • 举报
回复
select top 1 * from yourTable order by rnd(字段1) desc
wolcott2387 2009-08-11
  • 打赏
  • 举报
回复
学习了
bzuzhuoyuekeji 2009-08-11
  • 打赏
  • 举报
回复
我只看不说话
田想兵 2009-08-11
  • 打赏
  • 举报
回复
没有一个高手的回答,都是些没用的答案。
周公 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sql77 的回复:]
SQL codeSELECTTOP5*FROM TBORDERBYNEWID()??
[/Quote]
这么说的人根本就不负责任!
order by newid()是SQL Server中的做法。
Delta 2009-08-10
  • 打赏
  • 举报
回复
关注中。。
woshimaikou 2009-08-10
  • 打赏
  • 举报
回复
用随机数查询,
lsd123 2009-08-10
  • 打赏
  • 举报
回复
.
加载更多回复(60)

7,713

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧