经查字典教程网站长测试可用的ASP无重复数字随机函数,数组实现,并应用于随机显示记录集
作用:
本函数适用于随机显示小数量的随机不重复数字
本函数适用于显示小数量的随机不重复记录集
为了不影响效率,上限超过一千,不建议使用本函数
shawl.qiu
2006-09-06
http://blog.csdn.net/btbtd
主内容:函数及应用函数随机显示100条记录
linenum
复制代码 代码如下:
<%
dimrs,rNum
dimtemp
setrs=createObject("adodb.recordset")
rs.open"selecttop100*fromrnd_v1",conn,1
rNum=rs.recordCount-1
foreachtempinfRndNoRpt(0,rNum)
rs.movetemp
response.writers("sbcat")
response.write"<br/>"
rs.movefirst
next
rs.close
setrs=nothing'shawl.qiucode'
functionfRndNoRpt(lwNum,upNum)
''''''''''''''''''''''''''''''''''''''''''''
'ASP无重复数字随机函数,数组实现,Byshawl.qiu
'2006-09-06
'http://blog.csdn.net/btbtd
'''''''''''''''''''''''''''''''''
'注意:随机数超过1000,不建议使用本函数.
'''''''''''''''''''''''''''''''''
'参数说明:
'''''''''''''''''''''''''''''''''
'lwNum为数字数组下限,如:1
'upNum为数字数组上限,如:100
'''''''''''''''''''''''''''''''''
'samplecall:
'''''''''''''''''''''''''''''''''
'dimt
'foreachtinfRndNoRpt(1,100)
'response.writet&"<br/>"
'next
''''''''''''''''''''''''''''''''''''''''''''
ifupNum<1orisNull(upNum)orupNum=""orisNumeric(upNum)=falsethenexitfunction
iflwNum<0orisNumeric(lwNum)=falsethenexitfunction
dimnum,temp
dimar()
redimar(upNum)
dimj:j=0
fortemp=lwNumtoupNum
num=num&"."&temp&"."
next
randomize
dountilnum=""
temp=int((upNum-lwNum+1)*rnd+lwNum)
ifinStr(num,"."&temp&".")<>0then
num=replace(num,"."&temp&".","")
ar(j)=temp
j=j+1
endif
loop
fRndNoRpt=ar
erasear
endfunction'shawl.qiucode'
response.write"<p/>使用随机数函数显示1至100的不重复随机数1:<br/>-----------------------<br/>"
foreachtempinfRndNoRpt(1,100)
response.writetemp&"<br/>"
next
response.write"<p/>使用随机数函数显示1至100的不重复随机数2:<br/>-----------------------<br/>"
temp=join(fRndNoRpt(1,100),"-")
response.writemid(temp,1,len(temp)-1)
%>