如何使用ASP随机读取access数据库中的一条信息

sql="selecttop1*fromurlORDERBYnewid()"说MicrosoftOLEDBProviderforODBCDrivers(0x80040E2... sql="select top 1 * from url ORDER BY newid()"

说Microsoft OLE DB Provider for ODBC Drivers (0x80040E21)
ODBC 驱动程序不支持所需的属性。

sql="select top 1 * from url ORDER BY rnd()"
每次显示的都一样
sql="select top 1 * from url ORDER BY rnd(id)"
什么都不显示
展开
 我来答
百度网友3467989ee
2008-04-26 · TA获得超过872个赞
知道小有建树答主
回答量:690
采纳率:50%
帮助的人:773万
展开全部
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

%>
这样不就随即提取出来了一个了?呵呵是不是很简单?当然,这个东西如果你随即提取一条是不成问题的,如果提取多条,很可能会有重复显示的现象,那么,如何来让他在提取多条记录时不重复呢?哎,自己多想想吧哈哈,这是我年前写过的小程序了。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式