随机访问Recordset的一条记录

平平322

平平322

2016-01-29 18:28

随机访问Recordset的一条记录,随机访问Recordset的一条记录
  假设这个数据表有一个唯一的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中。


 
展开更多 50%)
分享

猜你喜欢

随机访问Recordset的一条记录

ASP
随机访问Recordset的一条记录

3.5 随机访问Recordset的一条记录

Web开发
3.5 随机访问Recordset的一条记录

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

删除重复的记录,并保存第一条记录或保存最后一条记录

编程语言 网络编程
删除重复的记录,并保存第一条记录或保存最后一条记录

SQL查找某一条记录的方法

编程语言 网络编程
SQL查找某一条记录的方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

对数据库中的记录用上一条下一条显示(一)

ASP
对数据库中的记录用上一条下一条显示(一)

如何随机选取n条记录或者对记录作随机排序?

SQLServer
如何随机选取n条记录或者对记录作随机排序?

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

在Word文档为图片添加解说词

在Word文档为图片添加解说词

探讨一下rs(0)和rs(fieldname)的执行效率

探讨一下rs(0)和rs(fieldname)的执行效率
下拉加载更多内容 ↓