吴伟贤のBlog

Feed Rss

asp随机取数据库中的记录

08.05.2009, asp, by .

<%
sql="select * from cp"
rs.open sql,conn,3,2
if rs.bof then
response.Write("目前没有信息!")
response.End()
end if
DIM Appeared
Call DisRndRecord(3,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("<center><br><a href=’cpxs.asp?id="&rs("id")&"’><img width=’60’ height=’68’ border=’0′ src="&rs("cptp")&"></a><br><br><a href=’cpxs.asp?id="&rs("id")&"’>"&rs("cpmc")&"</a></center>")
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
%>

评论已关闭。