landays 发表于 2009-6-4 03:23:29

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

本帖最后由 landays 于 2009-6-7 10:57 编辑

请教一下Au3操作Mdb数据库怎么随机读取某一行的字符?
Random的例子搜索了不少
发现都是读取ini文件的
找不到mdb数据库相关的例子。。
折腾了几个小时,大半夜的一点头绪都没。。
哪位高人给指条明路吧。。。
不胜感激。。

hhasee 发表于 2009-6-4 08:07:03

本帖最后由 hhasee 于 2009-6-5 09:20 编辑

随机读取?我这有读取最后17条纪录的例子,但愿来帮到你!
select top 17 * from table order by id desc

stdmis 发表于 2009-6-4 08:45:02

數據庫只有一條條的記錄,按不同的索引方式,有不同的排列.沒你所說的某一行.

landays 发表于 2009-6-4 15:30:23

本帖最后由 landays 于 2009-12-31 11:32 编辑

噢楼上不好意思,可能是我没说清楚吧

javarike 发表于 2009-6-5 11:37:14

给你一个思路,先读出该表有多少条记录;然后在这些记录数中随机,保证了随机的数都读得出来。

慢慢研究,加油,,

auto 发表于 2009-6-5 20:39:23

随机读取某条记录
SELECT TOP 1 * FROM tywb ORDER BY Rnd(id);

landays 发表于 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条
楼上的代码怎么是固定显示一条的?

javarike 发表于 2009-6-6 15:07:54

select * from table where id =Rnd(select   count(*)   from   table)

这样不难了吧?

auto 发表于 2009-6-6 15:35:27

select * from table where id =Rnd(select   count(*)   from   table)

这样不难了吧?
javarike 发表于 2009-6-6 15:07 http://www.autoitx.com/images/common/back.gif


如果ID不连续就会出现为空

auto 发表于 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 http://www.autoitx.com/images/common/back.gif


SELECT TOP 1 * FROM tywb ORDER BY Rnd(id);
我测试过,不会固定显示某个记录,ID字段类型为自动编号类型
但编号可以不连续

javarike 发表于 2009-6-6 16:13:47

SELECT top 1 * FROM 表 ORDER BY Rnd(id)

正解!!!

akmm88 发表于 2009-6-6 18:29:48

$rs.Move($index)
$index可以用random来获取。

landays 发表于 2009-6-6 20:48:46

问题解决
SELECT top 100 * FROM txwb ORDER BY Rnd(id)
原来是这样。。2楼的不好意思。。是我太菜 了。。

谢谢楼上各位关注的我的问题。。

auto 发表于 2009-6-8 19:45:59

问题解决
SELECT top 100 * FROM txwb ORDER BY Rnd(id)
原来是这样。。2楼的不好意思。。是我太菜 了。。

谢谢楼上各位关注的我的问题。。
landays 发表于 2009-6-6 20:48 http://www.autoitx.com/images/common/back.gif
SELECT top 100 * FROM txwb ORDER BY Rnd(id)
select top 1 就可以了,怎么要TOP100?

landays 发表于 2009-6-9 01:32:05

我的理解是Top 1只在1条内随机
Top 100是在100条内随机
不知道对不?
页: [1] 2
查看完整版本: 随机读取Mdb数据库某一行的字符