asp随机提取access数据库记录的几种方法
作者:Atwind 时间:2007-09-06 19:42:00
今天研究了些取access数据库随机记录问题,这是这我自己搜集整理的方法。大家有没有高见,可以告诉我,或者我总结的东东本身有误,也可以帮我修正。
检查了一些贴子对于MS SQL数据库一般可以采用这样的语句:
select top 50 * from someTable order by NewID()
但是如果是Access数据库的话似乎没有什么好的解决方法。
方法一:有人用如下代码以记录总数为极大值来首先提取出指定数量的随机数,然后以这些随机数做为记录ID。
dim n,j
dim su()
dim a,b,k
b=myrs.RecordCount
Randomize
redim su(index_N)
su(1)=Int((b * Rnd) + 1)
for n=2 to index_N
a=Int((b * Rnd) + 1)
for j=1 to n
do while a=su(j)
a=Int((b* Rnd) + 1)
j=1
loop
next
su(n)=a
next
这种方式有一些问题,就是当ID不是连续的话,有可能某些随机数不存在ID序列当中。另外ID的最大值与总的记录值不一定相等,这样有些记录ID会永远被忽略。
方法二:有人采用一条SQL语句解决此问题
select top 50 * from table order by int(rand()*50)
如果这条语句可行的话是个不错的方法。我测试这条语句并没有通过,如果有人知道是哪有问题请告诉我,非常感谢。
方法三:有这样一种方法,我觉的不错。
yourstr="*1*3*4*6*12*...."
sql="select top 10 * form yourdb where instr(’*’&id&’*’,’"&yourstr&"’)<>0"
yourstr可以生成随机数多一点大于所限定抽取的随机数为好。这样可以排除记录不足的情况。
方法四:
<%
n=10 ’’取任意10条记录
set rs = server.CreateObject ("adodb.recordset")
sql = "select * from table"
rs.open sql,conn,1,1
count=rs.recordcount ’’记录总数
IF Count<>empty Then
Randomize
for i = 1 to n ’’循环n次
num=Fix(Rnd*count) ’’num便是随机产生的记录行数,用Fix(),使其不会大于count值。
rs.move num ’’移到改随机行
Response.write rs(0) ’’出该条记录
rs.movefirst ’’别忘了再把指针移到第一条
next
End IF
rs.close
set rs = nothing
%>
标签:access,随机,记录
0
投稿
猜你喜欢
SQL Server 使用 SET FMTONLY ON 获得表的元数据
2024-01-24 00:20:41
python3 kubernetes api的使用示例
2021-11-11 00:56:18
如何实现html表格里隔行换色
2007-10-19 13:42:00
Softmax函数原理及Python实现过程解析
2022-12-15 02:18:24
pytorch 实现在一个优化器中设置多个网络参数的例子
2021-11-30 17:12:05
使用Python实现二分法查找的示例
2022-02-08 13:52:53
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
2021-02-23 13:07:23
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2022-08-02 13:14:35
从网页设计开始
2008-06-30 12:17:00
6个卓越Web设计细节
2010-03-29 12:56:00
Vue实现返回顶部按钮实例代码
2024-06-05 09:19:50
asp动态页面生成html页面
2008-10-24 09:03:00
操作Dom节点实现间歇滚动新闻
2009-10-16 20:51:00
使用Python来开发微信功能
2023-09-25 00:05:28
给大家整理了19个pythonic的编程习惯(小结)
2024-01-02 08:00:05
python:关于文件加载及处理方式
2021-03-12 10:17:30
anaconda navigator打不开问题的解决方法
2023-09-12 08:48:20
ASP的错误代码都有哪些?
2009-10-28 18:15:00
JS实现六边形3D拖拽翻转效果的方法
2023-08-28 15:51:31
MySQL 加密/压缩函数
2024-01-23 23:51:14