access随机显示记录(不重复)解决方案: 看了很多人讨论关于access随机取记录的帖子,不才,写了一个随机显示记录的解决方法,希望大家指正。数据库里有5条记录,随机抽取4条。 code -------------------------------------- % '-------------------------数据
access随机显示记录(不重复)解决方案:
看了很多人讨论关于access随机取记录的帖子,不才,写了一个随机显示记录的解决方法,希望大家指正。数据库里有5条记录,随机抽取4条。
code
--------------------------------------
<%
'-------------------------数据库连接-----------------------
set objconn = server.createobject("adodb.connection")
objconn.connectionstring = "provider=microsoft.jet.oledb.4.0;" &_
"data source=" & server.mappath("data.mdb")
objconn.open
'-------------------------数据库连接-----------------------
'-------------------------检索数据-----------------------
strsql = "select id,datacolumn from datatable"
'sql语句,检索数据库
set objrs = server.createobject("adodb.recordset")
'创建记录集
objrs.open strsql, objconn, 1, 1
'执行检索
count=objrs.recordcount
'得到记录总数
item=4
'显示记录数
'-------------------------检索数据-----------------------
'-------------------------------------------------------------------------------
redim a(item, 2),t(count)
'定义2数组,数组a用来储存记录,,数组t用来删选记录
'---------------------------------------
'初始数组数值,目的为了插入数据以后和此值做比较
for each j in t
j=0
next
'---------------------------------------
'---------------------------------------
' 随机抽取记录号
randomize timer '初始化随机数生成器
for j=1 to item
k=int(rnd*count+1) '从总数里面随机取一条记录
do while t(k)<>0
'判断是否记录是否已经在数组中
k=int(rnd*item+1)
loop
t(k)=1 '第k条记录被选中
next
'--------------------------------------
j=1:i=1'定义下标
'--------------------------------------
' 循环选取数据集objrs中的部分记录存放到数组中
do while not objrs.eof
if t(j)=1 then
a(i,1)=objrs("id")
'记录id
a(i,2)=objrs("datacolumn") '记录内容
i=i+1
end if
j=j+1
objrs.movenext
loop
'--------------------------------------
'-------------------------------------------------------------------------------
'----------------------------显示内容--------------------
for i=1 to item
response.write "序号"&a(i,1)&"
"
response.write "内容"&a(i,2)&"
"
next
'----------------------------显示内容--------------------
'---------------------------
'释放资源
objrs.close
set objrs=nothing
objconn.close
set objconn=nothing
'---------------------------
%>
data
id datacolumn
--------------------------
1
a
2
b
3
c
4
d
5
e.syntaxhighlighter{padding-top:20px;padding-bottom:20px;}
【说明】:
本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:)!