Access随机显示记录解决方案 微信朋友圈随机显示

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)&"<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