简单高效:不重复随机读取数据库记录
来源:互联网 发布:mac怎么把word转成pdf 编辑:程序博客网 时间:2024/06/05 05:50
大多读取记录到数组里去抽取。昨天又看到人写,心血来潮就顺手想了个,个人认为这种方法应该错吧,呵呵。刚好20行~_~
实现方法:
1。通过recordset游标可移动的特性,在已打开记录集里移动到随机位置读取记录。而且可以将就使用页面中已打开的RS对象。
2。将出现过的随机数保存到一个字符串中,通过instr函数来检查是否重复,重复则递归调用函数至不重复。
数据库打开查询若干,省略... ...
Set rs = Server.CreateObject("Adodb.RecordSet")
rs.open sql,conn,1,1
DIM Appeared
Call DisRndRecord(10,rs.recordCount)'调用函数该位置显示记录
'################SUBS################
'#DisRndRecord(DisNum,rsBound)
'#参数DisNum:显示数量
'#参数rsBound:随机数产生范围
Sub DisRndRecord(DisNum,rsBound)
DIM i,ThisRnd
If rsBound < DisNum Then DisNum = rsBound'记录总数小于要抽取记录条数的情况
For i = 0 To DisNum - 1
ThisRnd = GetRnd(rsBound)'取得一个不重复的随机数
rs.Move(ThisRnd)'游标移动到随机数位置数读取
Response.Write("<br>("&rs("id")&")"&rs("Title"))
rs.Move(-ThisRnd)
Next
End Sub
'# 函数GetRnd(bound)返回一个不重复的随机数字
'#参数bound:随机范围
Function GetRnd(bound)
DIM ranNum
Randomize()
ranNum=int(bound*rnd)
If Instr(Appeared,"["&ranNum&"]") Then'产生的随机数是否出现过
ranNum = getRnd(bound)
End If
Appeared = Appeared & "["&ranNum&"]"'记录已出现的随机数
GetRnd = ranNum
End Function
- 简单高效:不重复随机读取数据库记录
- 随机读取数据库记录
- asp生成不重复的随机数,随机取数据库记录
- asp生成不重复的随机数,随机取数据库记录
- asp随机读取数据库记录
- 随机读取Access数据库记录
- 随机读取Access数据库记录
- 如何随机读取数据库记录
- access随机选择不重复记录
- 从数据库中随机读出n条不重复的记录
- 查询数据库重复记录不重复显示
- 随机读取Access数据库记录(转)
- 如何随机读取数据库中记录
- DB----随机选择数据库与随机读取若干条记录
- 随机读取不重复的多条数据
- 数据库中随机读取和顺序读取记录的方法
- 检索数据库表中的不重复记录
- 随机不重复函数
- 合并实现DataGrid多表头 (转自:http://singlepine.cnblogs.com/articles/282990.html)
- Access 2003:用150个范例学查询
- 服务器控制面板总集
- 生成直方图-通过观察直方图可帮助您了解数据的模式
- 认识ruby
- 简单高效:不重复随机读取数据库记录
- 关于web.xml配置的详细说明
- ASP的19个基本技巧
- 我国医疗分配公平性居世界倒数第四
- 我的ON BEACH生活 ——— 在海边晒太阳时的奇思妙想
- XSL语言(XSL Languages)(2)Introduction to XSLT
- Unicode是什么?
- 直接超类中必须有无参的构造函数
- 安装fedora1