Access随机抽取数据库中的记录

数据库里有5条记录,随机抽取4条。SQL SERVER的话只需要newID()就行了,但ACCESS来说,它本身不提供newID()这个方法

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

时间: 2024-10-28 22:14:18

Access随机抽取数据库中的记录的相关文章

随机抽取数据库中的记录

数据库里有5条记录,随机抽取4条. code--------------------------------------<%'-------------------------数据库连接-----------------------Set objConn = Server.CreateObject("ADODB.Connection")objConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;"

java-如何随机取数据库中的记录

问题描述 如何随机取数据库中的记录 数据库表中有10000条记录,若干字段,开始只有name和password字段有信息,当用户登录平台填写完整信息后,将这些填写的信息随机绑定到10000条记录中的其中一条记录的剩余字段中,每条记录只能使用一次,ibatis的sql语句和java逻辑怎么写,新手求教,第一次提问 解决方案 这是很经典的需求,参考:http://www.cnblogs.com/lyhabc/p/3826872.html 解决方案二: 为什么非要绑定到随机的一条记录里?资助每条记录只

在MsSql、Access两种数据库中插入记录后马上得到自动编号的ID值_木马相关

本编文章将要介绍重点解释如何在Ms Sql Server中更新或添加一条记录后立即得到其标识列的值,这个值在ACCESS就是我们熟知的自动编号的 ID值,好了,闲话不多说,代码我也不多写,只写关键些,相信各位高手一看就明白,呵呵.后面也附带了在ACCESS中获取的方法,虽然在ACCESS 中获取自动编号的文章网上虽然很多,但放在此做为一个总结吧. Set testRs=Server.CreateObject("ADODB.RecordSet") '创建要测试的对象 testRs.Ope

当两个不同用户尝试更改Access 2007年数据库中相同记录

症状 考虑以下方案. 两个不同用户同时访问同一 Microsoft Office Access 2007年数据库. 用户尝试更改同一记录. 在此方案, 用户会收到以下错误信息: 无法更新 : 目前锁定. 此外, 更改窗体上多值字段中并没有提交更改, 然后移动到表后值没有更新. 如果您然后尝试来修改表, 中多值字段您收到以下错误信息: 无法更新 : 当前锁定由此计算机上其他会话. 原因 发生此问题是因为附件或多值字段使用保守式锁定功能. 因此, 锁对字段保存, 直到记录是提交. 可使用 记录锁定

利用ISAPI实现向数据库中添加记录

本文介绍了用HTML(HypertextMakeupLanguage)编写界面.编写ISAPI(InternetServerApplicationProgrammingInterface)交互程序以实现向用MicrosoftSQLServer建立的数据库中添加记录的方法. 1.前言 MicrosoftSQLServer是一种可伸缩的.高性能的关系型数据库管理系统(RDBMS),它专为分布式客户机-服务器计算环境而设计.它的内置数据复制功能.强大的管理工具和开放式的系统体系结构为发布信息提供了一个

让数据库中的记录用上一条下一条显示

数据|数据库|显示 让数据库中的记录用上一条下一条显示 若要让RecordSet移动到上一条下一条的位置,让我们先学会以下RecordSet对象的属性和方法: BOF属性:当前游标指到RecordSet的第一条记录. EOF属性:当前游标指到RecordSet的最后一条记录. Move方法:移动游标到RecordSet中的某一个记录. AbsolutePosition属性:当前游标在RecordSet中的位置. bookmark(书签)属性:对RecordSet的一条记录做一个记号. 详细介绍如

如何用C#将数据库中的记录制成XML

xml|数据|数据库 以前在一个公司项目中要用数据库中的记录生成相应的XML文件[主要是为了提高访问速度],但由于当时资料的缺乏,在开发过程中遇到了不过的困难,好在最终完成了工作,我在这里把当时其中的一个功能函数列出来,其于的函数大同小意,希望兄弟们以后在遇到这样的问题时不象我当初一样再吃苦头.using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Diagn

sql server 解密-请问Microsoft SQL Server 2005数据库中加密记录解密方法

问题描述 请问Microsoft SQL Server 2005数据库中加密记录解密方法 请问Microsoft SQL Server 2005数据库中类似 0MHCkgK7c4E= 的记录(共12位)是使用什么算法加密得到的?能否提供解密的方式或网址,谢谢! 解决方案 有些用到了base64来加密

PHP判断数据库中的记录是否存在的方法_php技巧

本文实例讲述了PHP判断数据库中的记录是否存在的方法.分享给大家供大家参考. 具体实现代码如下: 复制代码 代码如下: <?php    $sql="select * from checklist where game_id=$gid and task='$task' and status='$status'";  $result=mysql_query($sql);    $row = mysql_fetch_array($result, MYSQL_ASSOC);