当前位置: 首页 > 图文教程 > 网络编程 > ASP > 可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集

ASP
Adodb.Command 平时很少注意到的一个参数
Asp.Net控件加载错误的解决方法
远程连接access数据库的方法
创建具有JScript的HTML的XMLHTTP
在Asp中如何快速优化分页的技巧
用VB生成DLL封装ASP代码,连接数据库
RS.OPEN SQL,CONN,A,B 全接触
利用adodb.stream直接下载任何后缀的文件(防盗链)
用ASP编程控制在IIS建立Web站点的程序代码
使用VBScript操作Html复选框(CheckBox)控件
把文章内容中涉及到的图片自动保存到本地服务器
两个不同数据库表的分页显示解决方案
使用组件封装数据库操作(一)
使用组件封装数据库操作(二)
如何在pb中创建COM组件,并在asp中调用并返回结果集?
用ASP和Microsoft.XMLDOM分析远程XML文件
浅谈无刷新取得远程数据技术
将ASP纪录集输出成n列的的表格形式显示的方法
在ASP中通过oo4o连接Oracle数据库的例子
Server Application Error详细解决办法

可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集


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

经软晨学习网站长测试可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集
作用:
本函数适用于随机显示小数量的随机不重复数字
本函数适用于显示小数量的随机不重复记录集
为了不影响效率, 上限超过一千, 不建议使用本函数
shawl.qiu
2006-09-06
http://blog.csdn.net/btbtd
主内容: 函数及应用函数随机显示100条记录
linenum
复制代码 代码如下:

<%
dim rs, rNum
dim temp
set rs=createObject("adodb.recordset")
rs.open "select top 100 * from rnd_v1",conn,1
rNum=rs.recordCount-1
for each temp in fRndNoRpt(0,rNum)
rs.move temp
response.write rs("sbcat")
response.write "<br/>"
rs.movefirst
next
rs.close
set rs=nothing 'shawl.qiu code'
function fRndNoRpt(lwNum,upNum)
''''''''''''''''''''''''''''''''''''''''''''
' ASP 无重复数字随机函数, 数组实现, By shawl.qiu
' 2006-09-06
' http://blog.csdn.net/btbtd
'''''''''''''''''''''''''''''''''
' 注意: 随机数超过1000, 不建议使用本函数.
'''''''''''''''''''''''''''''''''
' 参数说明:
'''''''''''''''''''''''''''''''''
' lwNum 为 数字数组下限, 如: 1
' upNum 为 数字数组上限, 如: 100
'''''''''''''''''''''''''''''''''
' sample call:
'''''''''''''''''''''''''''''''''
' dim t
' for each t in fRndNoRpt(1,100)
' response.write t&"<br/>"
' next
''''''''''''''''''''''''''''''''''''''''''''
if upNum<1 or isNull(upNum) or upNum="" or isNumeric(upNum)=false then exit function
if lwNum<0 or isNumeric(lwNum)=false then exit function
dim num, temp
dim ar()
redim ar(upNum)
dim j:j=0
for temp=lwNum to upNum
num=num&"."&temp&"."
next
randomize
do until num=""
temp=int((upNum-lwNum+1)*rnd+lwNum)
if inStr(num,"."&temp&".")<>0 then
num=replace(num,"."&temp&".","")
ar(j)=temp
j=j+1
end if
loop
fRndNoRpt=ar
erase ar
end function 'shawl.qiu code'
response.write "<p/>使用随机数函数显示1至100的不重复随机数 1:<br/>-----------------------<br/>"
for each temp in fRndNoRpt(1,100)
response.write temp&"<br/>"
next
response.write "<p/>使用随机数函数显示1至100的不重复随机数 2:<br/>-----------------------<br/>"
temp=join(fRndNoRpt(1,100),"-")
response.write mid(temp,1,len(temp)-1)
%>