点击这里给我发消息 点击这里给我发消息

ASP实现access随机显示不重复记录解决方案

添加时间:2010-1-5
    相关阅读: ASP 解决方案 方案 数据库 SQL

以下为引用的内容:

  <%
  '-------------------------数据库连接-----------------------
  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
  '---------------------------
  %>

本文作者:未知
咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册