asp中如何随机读取数据库数据

asp中如何随机读取数据库数据,第1张

<%

Set conn=server.CreateObject("adodb.connection")

conn.provider="microsoft.jet.oledb.4.0"

conn.open server.mappath("english.mdb")Set rs=server.CreateObject("adodb.recordset")

rs.open "select * from sentence",conn,1,1'先读取全部记录max=rs.recordcount ‘读取最大记录数

For i=1 To 7 ’随机输出7个

randomize

id=Int(Rnd(now)*max+1) ‘定义从1到最大记录数之间的随机记录号

rs.absoluteposition=id ’定义记录集的绝对指针

Response.Write rs(0)&rs(1)&rs(2)

Next

%>

rnd是asp的一个随即函数,但是sql中并无此函数,故,你的这个sql语句是有问题的。

你可以这样写

<!-- #include file="conn.asp" -->

<%

set rs=server.CreateObject("adodb.recordset")

rs.open "select top 1 id from url order by id desc",conn,1,1

if not rs.bof and not rs.eof then

maxid=rs("id")

rs.close

function suiji()

Randomize

suiji=Int((maxid - 1+ 1) * Rnd + 1)

end function

'然后开始随即提取记录

i=0

do while i<1

rs.open "select * from url where id="&suiji(),conn,1,1

if not rs.bof and not rs.eof then

i=i+1

response.write "你现在随即提取的记录的id是"&rs("id")

end if

rs.close

loop

%>

这样不就随即提取出来了一个了?呵呵是不是很简单?当然,这个东西如果你随即提取一条是不成问题的,如果提取多条,很可能会有重复显示的现象,那么,如何来让他在提取多条记录时不重复呢?哎,自己多想想吧哈哈,这是我年前写过的小程序了。

ASP 随机提取数据库记录

<!--#include file="数据库连接"-->

<%

"一个从数据库中随机读取纪录的例子

Set Rs1=server.CreateObject ("adodb.recordset")

Set Rs=server.CreateObject ("ADODB.RECORDSET")

SQL="Select id from Article order by id desc"

rs.Open sql,dataconn,1,1

If not rs.EOF then

total=rs("id") "取最大的ID

rs.Close

'定义随机数..

Randomize

R=Int((total - 1+ 1) * Rnd + 1)

SQL="Select id,content from Article where id="&R

rs.Open sql,dataconn,1,1

if not rs.EOF then

content=RS("content")

content=replace(content,chr(10),"<br>")

content=replace(content,chr(13),"<br>")

content=replace(content,"<br><br>","<br>")

Response.Write content

else

sql1="select content from Article"

rs1.Open sql1,dataconn,1,1

if not rs1.eof then

"取第一条纪录作为默认的显示纪录

content=RS1("content")

content=replace(content,chr(10),"<br>")

content=replace(content,chr(13),"<br>")

content=replace(content,"<br><br>","<br>")

Response.Write content

else

"数据库为空

Response.Write "不存在"

end if

rs1.Close

end if

Rs.Close

end if

set Rs=nothing

%>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9949388.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存