当前位置:首页 > 网络编程 > 数据库 > ACCESS > Access随机显示记录(不重复)解决方案

Access随机显示记录(不重复)解决方案

点击次数:28 次 发布日期:2008-11-27 18:38:01 作者:源代码网
源代码网推荐   看了很多人讨论关于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)&"<br>"
 Response.write "内容"&a(i,2)&"<p>"
next
"----------------------------显示内容--------------------

"---------------------------
"释放资源
objRs.Close
set objRs=nothing
objConn.Close
set objConn=nothing
"---------------------------
%>


Data
id    DataColumn
--------------------------
1        a
2        b
3        c
4        d
5        e

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华