首页 | 站长免费中心 | 新手上路 | 网站运营 | 网页制作 | 图片设计 | 动画设计 | 网页编程 | 网页特效 | 本站专题 | 虚拟主机 | 域名注册 | 网站建设 | 程序下载
       免费空间资源 | 新闻咨询 | 免费域名 | 免费网盘 | 网站推广 | 网站策划 | 建站经验 | 网站优化 | 网页代码 | 源码下载 | 音乐小偷 | 网络赚钱 | 论坛交流
网站建设
网站建设
虚拟主机
虚拟主机
域名注册
域名注册
711网络首页
站长工具
站长工具
网站源码
网站源码
站长论坛
站长论坛

 711网络 网页编程ASP代码

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

来源: 互联网    日期:2007-1-13
 

    看了很多人讨论关于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
    
厉害,想法很新奇。只是记录很多的时候,数组会很大哦。
    佩服,收藏!


更多的access随机显示记录(不重复)解决方案请到论坛查看: http://BBS.TC711.COM



【 双击滚屏 】 【 评论 】 【 收藏 】 【 打印 】 【 关闭 】 来源: 互联网    日期:2007-1-13   

发 表 评 论
查看评论

  您的大名:
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
认证编码: 刷新验证码
点评内容: 字数0
  精品推荐  
  本月推荐  
  友情赞助  

关于我们 | 联系我们 | 广告投放 | 留言反馈 | 免费程序 | 虚拟主机 | 网站建设 |  网站推广 |  google_sitemap baidu_sitemap RSS订阅
本站所有资源均来自互联网,如有侵犯您的版权或其他问题,请通知管理员,我们会在最短的时间回复您
Copyright © 2005-2015 Tc711.Com All Rights Reserved 版权所有·711网络   蜀ICP备05021915号
110网监备案 信息产业备案 不良信息举报