设为首页
加入收藏
帮助中心
首页 | 红盾通告 | 信息中心 | ASP技术 | 数据库 | 网页设计 | 网管专栏 | OICQ攻略 | 墨客频道 | 网站运营 |
当前位置:首页 >> ASP技术 >> ASP应用 >> 正文
最新信息
·asp无限级分类加js收缩伸展…
·ASP读取EXCEL数据
·ASP编程操作Excel
·ASP编写了一个EXCEL上传程…
·ASP如何读取EXCEL工作表名…
·ASPJpeg和ASPUpload组件的…
·用ASP和SQL语句动态的创建…
·asp生成excel报表
·四大 FCKeditor 实战应用技…
·FCKeditor 2.0 的设置.修改…
资料搜索
热点信息
·asp生成excel报表
·Javascript+ASP制作树形菜…
·AspUpload组件的UploadedF…
·ASPJpeg和ASPUpload组件的…
·FckEditor中文配置手册详细…
·ASPUpload组件介绍
·金光ASP柱形图程序
·asp生成不重复的随机数字
·ASP读取EXCEL数据
·0-29内取15个不同的随机数…
推荐信息
·用ASP生成二维饼图
·一个取图片尺寸的类,支持…
·随即文件名
·ASP 随机图片
·本地图片,音乐等ASP防盗代…
·ASPJpeg和ASPUpload组件的…
·如何实现网上考试?
·用ASP打开远端MDB文件的方…
·ASP编写完整的一个IP所在地…
·用ASP实现远程批量文件改名


Google
 
ASP如何制作随机显示的文章条目
〖编辑:Cloudy | 浏览:人次〗

用SQL语句得到Access数据库中的随机记录集!

“用SQL语句得到数据库中的随机记录集”问题的答案网上以经很多了吧:
像SQL Server 2000:
Select TOP n * FROM tanblename orDER BY NEWID()
Access
Select TOP n * FROM tanblename orDER BY rnd([一个自动编号字段])

好了!我们来说说这个Access的:

打开Access2003建立一个带有自动编号字段的表 T1 : id_(auto),content_
随便插入些许记录 .
好了,我们是搞WEB开发的!
写个ASP看看
<%

Dim Con,RS
Set Con = Server.CreateObject("ADODB.CONNECTION")
Con.ConnectionString = "Provider=MicroSoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("*.mdb")
Con.CommandTimeout = 20
Con.CursorLocation = 3
Con.Open

Set RS = Con.Execute("Select TOP 3 [content_] FROM [T1] orDER BY rnd([id_])")
Do While Not RS.EOF
Response.Write RS.Fields("content_").Value & "<br />"
RS.MoveNext
Loop
RS.Close
Set RS = Nothing

Con.Close
Set Con = Nothing

%>

在localhost上运行一下这个ASP,看到结果了吧,记住!再F5一下!咦?怎么没有改变,不是我们想要的!
当然了,rnd在运行前应该执行Randomize语句的!
可是又怎么执行?
Access里是否支持Randomize?我也不太清楚,带着疑问看了一下帮助,只找到了VBS里的那个Randomize……
解决问题是每个程序员最来精神的!
赶紧去Google一下! 结果半天没找到解决方案,有的干脆用asp来循环的找position,呸,费半天劲干什么呢,我就想SQL解决怎么办?
Access里的Randomize不知道怎么用,asp的基本功还会吧?开动脑筋,有了!

<%

Dim Con,minPID,RS
Set Con= Server.CreateObject("ADODB.CONNECTION")
Con.ConnectionString = "Provider=MicroSoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("*.mdb")
Con.CommandTimeout = 20
Con.CursorLocation = 3
Con.Open

Randomize
Set RS = Con.Execute("Select TOP 3 [content_] FROM [T1] orDER BY rnd(-(id_+" & rnd() & "))")
Do While Not RS.EOF
Response.Write RS.Fields("content_").Value & "<br />"
RS.MoveNext
Loop
RS.Close
Set RS = Nothing

Con.Close
Set Con = Nothing

%>

嗯,这回再试一试!

OK了!每次F5后都能是“随机”的感觉了


录入时间:2007-03-12 21:01:26 [打印本页] [关闭窗口] [返回顶部]
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

Copyright © 2006-2014 0733168.Com Inc All Rights Reserved
关于我们 | 广告合作 | 联系我们 | 法律声明 | 友情链接 | 意见反馈
本站所收录信息、社区话题、及本站所做之广告均属其个人行为,与本站立场无关
湘ICP备06008436号