可用的ASP無重復數字隨機函數, 數組實現(xiàn), 并應用于隨機顯示記錄集
更新時間:2007年03月20日 00:00:00 作者:
經腳本之家站長測試可用的ASP無重復數字隨機函數, 數組實現(xiàn), 并應用于隨機顯示記錄集
作用:
本函數適用于隨機顯示小數量的隨機不重復數字
本函數適用于顯示小數量的隨機不重復記錄集
為了不影響效率, 上限超過一千, 不建議使用本函數
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 無重復數字隨機函數, 數組實現(xiàn), 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)
%>
作用:
本函數適用于隨機顯示小數量的隨機不重復數字
本函數適用于顯示小數量的隨機不重復記錄集
為了不影響效率, 上限超過一千, 不建議使用本函數
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 無重復數字隨機函數, 數組實現(xiàn), 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)
%>
相關文章
推薦4款傻瓜型的ASP服務器軟件(asp運行環(huán)境一鍵搭建工具)
雖然現(xiàn)在各種語言大行其道,但是asp的成熟性以及易用性還是有很大的客戶量存在,要運行ASP程序,必須安裝調試ASP的環(huán)境,而IIS對于普通用戶來說,安裝起來還是有一定的難度的,這里我來推薦幾款傻瓜型的ASP服務器軟件,比較適合初級站長。2014-08-08
asp飛飛無限級分類v1.0 Asp+sql+存儲過程+ajax提供下載
飛飛Asp樂園Asp Sql存儲過程版無限級分類 開發(fā)說明: 本程序基于Asp環(huán)境開發(fā) 使用的數據庫:SQLServer2000(存儲過程) js框架:Jquery/ajax 數據庫名稱:archives2008-03-03

