Access随机显示记录解决方案
2014-10-22来源:易贤网

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

更多信息请查看IT技术专栏

推荐信息