当前位置: 首页 > 图文教程 > 网络编程 > ASP > 随机访问Recordset的一条记录

ASP
asp 网站静态化函数代码html
asp利用Split函数进行多关键字检索
ASP动态include文件
用ASP开发网页需要牢记的注意事项
利用ASP发送和接收XML数据的处理方法
Session对象失效的客户端解决方法
一次性下载远程页面上的所有内容
asp模板引擎终结者(WEB开发之ASP模式)
浅谈 ASP 模板技术之参数传递
本人常用的分页代码
也谈采集入库的技术
简单分页函数一 常用
msxml3.dll 错误 ''800c0005''解决方案
[原创]本人常用的asp代码
生成所有页面的效果+分页生成
[原创]关于Script的Defer属性
[原创]asp截取字符串的两种应用
内容分页函数
[ASP]精华代码
asp提高首页性能的一个技巧

ASP 中的 随机访问Recordset的一条记录


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 154 ::
收藏到网摘: n/a

  假设这个数据表有一个唯一的ID字段,并至少有一条记录。随机存取其中一条记录的方法是非常简单的,可以分为四步:
1、取得记录总数n。
2、把所有的ID号存储到一个数组中
3、产生一个不大于n的随机数m
4、从数组中取出第m个ID号,查询数据表,取得记录数据。
  下面是部分代码:
$#@60;%
set conn = Server.CreateObject(‘ADODB.Connection‘)
conn.open ‘$#@60;conn string$#@62;‘

‘ ***** (step 1) *****

set rs = conn.execute(‘Select count(id) from someTable‘)
rCount = rs(0)

‘ ***** (step 2) *****

set rs = conn.execute(“select id from someTable”)
cnt = 1
dim RRs
redim RRs(rCount)
do while not rs.eof
RRs(cnt) = rs(0)
cnt = cnt + 1
rs.movenext
loop

‘ ***** (step 3) *****

randomize
currentRR = cLng(rnd*rCount+0.5)
ID = RRs(currentRR)

‘ ***** (step 4) *****

sql = “select otherfield from someTable where id=” & ID
set rs = conn.execute(sql)
response.write “ID # ” & ID & “ = ” & rs(0)
rs.close: set rs = nothing
conn.close: set conn = nothing
%$#@62;
  对于SQL Server,还有更加有效率的方法。比如设计两个存储过程。我这里只是阐明一些思路,并希望这种思路可以同时用在Access和SQL Server中。