找回密码
 加入
搜索
查看: 4918|回复: 18

随机读取Mdb数据库某一行的字符

[复制链接]
发表于 2009-6-4 03:23:29 | 显示全部楼层 |阅读模式
本帖最后由 landays 于 2009-6-7 10:57 编辑

请教一下Au3操作Mdb数据库怎么随机读取某一行的字符?
Random的例子搜索了不少
发现都是读取ini文件的
找不到mdb数据库相关的例子。。
折腾了几个小时,大半夜的一点头绪都没。。
哪位高人给指条明路吧。。。
不胜感激。。
发表于 2009-6-4 08:07:03 | 显示全部楼层
本帖最后由 hhasee 于 2009-6-5 09:20 编辑

随机读取?我这有读取最后17条纪录的例子,但愿来帮到你!
select top 17 * from table order by id desc
发表于 2009-6-4 08:45:02 | 显示全部楼层
數據庫只有一條條的記錄,按不同的索引方式,有不同的排列.沒你所說的某一行.
 楼主| 发表于 2009-6-4 15:30:23 | 显示全部楼层
本帖最后由 landays 于 2009-12-31 11:32 编辑

噢楼上不好意思,可能是我没说清楚吧
发表于 2009-6-5 11:37:14 | 显示全部楼层
给你一个思路,先读出该表有多少条记录;然后在这些记录数中随机,保证了随机的数都读得出来。

慢慢研究,加油,,
发表于 2009-6-5 20:39:23 | 显示全部楼层
随机读取某条记录
SELECT TOP 1 * FROM tywb ORDER BY Rnd(id);
 楼主| 发表于 2009-6-6 12:59:54 | 显示全部楼层
本帖最后由 landays 于 2009-6-6 13:01 编辑
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path)
$RS =ObjCreate("ADODB.Recordset")
$RS.ActiveConnection = $addfld 
$RS.Open ("Select TOP 1 "&$T & " From " & $tblname & " ORDER BY Rnd(id)") ;打开数据分表
;$RS.Open ("select top 17 "&$T & " From " & $tblname & " ORDER by id desc") ;打开数据分表
while Not $RS.eof And Not $RS.bof
if @error =1 Then ExitLoop 
MsgBox(0, "", $RS.Fields (1).value)
$rs.movenext 
WEnd
$rs.close 
$addfld.Close

用以上代码测试,2楼的可以显示最后17条
楼上的代码怎么是固定显示一条的?
发表于 2009-6-6 15:07:54 | 显示全部楼层
select * from table where id =Rnd(select   count(*)   from   table)

这样不难了吧?
发表于 2009-6-6 15:35:27 | 显示全部楼层
select * from table where id =Rnd(select   count(*)   from   table)

这样不难了吧?
javarike 发表于 2009-6-6 15:07



如果ID不连续就会出现为空
发表于 2009-6-6 15:37:11 | 显示全部楼层
$addfld = ObjCreate("ADODB.Connection")
$addfld.Open("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &$mdb_data_path)
$RS =ObjCreate("ADODB.Recordset")
$RS.ActiveConnection = $addfld
$RS.Open (" ...
landays 发表于 2009-6-6 12:59



SELECT TOP 1 * FROM tywb ORDER BY Rnd(id);
我测试过,不会固定显示某个记录,ID字段类型为自动编号类型
但编号可以不连续
发表于 2009-6-6 16:13:47 | 显示全部楼层
SELECT top 1 * FROM 表 ORDER BY Rnd(id)

正解!!!
发表于 2009-6-6 18:29:48 | 显示全部楼层
$rs.Move($index)
$index可以用random来获取。
 楼主| 发表于 2009-6-6 20:48:46 | 显示全部楼层
问题解决
SELECT top 100 * FROM txwb ORDER BY Rnd(id)
原来是这样。。2楼的不好意思。。是我太菜 了。。

谢谢楼上各位关注的我的问题。。
发表于 2009-6-8 19:45:59 | 显示全部楼层
问题解决
SELECT top 100 * FROM txwb ORDER BY Rnd(id)
原来是这样。。2楼的不好意思。。是我太菜 了。。

谢谢楼上各位关注的我的问题。。
landays 发表于 2009-6-6 20:48

SELECT top 100 * FROM txwb ORDER BY Rnd(id)
select top 1 就可以了,怎么要TOP100?
 楼主| 发表于 2009-6-9 01:32:05 | 显示全部楼层
我的理解是Top 1只在1条内随机
Top 100是在100条内随机
不知道对不?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-19 16:29 , Processed in 0.077048 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表