张学友歌坛地位:怎样随机读取数据库的几条记录

来源:百度文库 编辑:高考问答 时间:2024/05/04 12:04:14
我用过
Sql="select top 5 * from Article_Info order by rnd(fId) desc
虽然能随机读取5条记录,但每次刷新都是原来的数据。
望哪为大侠能帮助小弟。
先谢谢了。

取5次随机数

<%
on error resume next
set conn=server.createobject("adodb.connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("data/qq.mdb")
if err then
err.clear
response.write "数据库连接出错,请与管理员联系"
end if
sql="select * form Article_Info"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
DIM Appeared
Call DisRndRecord(5,rs.recordCount)

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)
if rs.eof and rs.bof then
response.Write "无记录!"
else
response.Write rs("news_title")+"<br>"
end if
rs.Move(-ThisRnd)
Next
End Sub

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
rs.close
set rs=nothing
%>

改一下数据库名和response输出字段就可以用了