[此贴子已经被作者于2005-5-17 10:17:15编辑过]
[此贴子已经被作者于2005-5-17 10:17:15编辑过]
[QUOTE]<% db="data\DKP.mdb" CONNSTR="provider=Microsoft.jet.oledb.4.0;data source="& server.mappath(db) set conn=server.createobject("ADODB.Connection") conn.open CONNSTR '------------------------------------------------------------------------------- set rs = server.CreateObject ("adodb.recordset") sql="select * from xt_tmb where tm_tm='111' order by rnd(tm_id)" rs.open sql,conn,1,1 Randomize dim box() for i = 1 to 10 ''循环次 num=Fix(Rnd*rs.recordcount) ''num便是随机产生的记录行数,用Fix(),使其不会大于总值。 box(i)=num chongfu=false for ii=0 to i-1 if num=box(ii) then chongfu=true next
if chongfu=false then rs.move num ''移到改随机行 Response.write rs("tm_id")&" " Response.write rs("tm_tm")&"<p>" ''出该条记录 end if rs.movefirst ''别忘了再把指针移到第一条 next rs.close set rs = nothing
%>[/QUOTE] 红色部分是我加的代码,楼主试试可以吗?如果可以用回个音 我以前很少用到数组,高手看看这种逻辑可以不
[此贴子已经被作者于2005-5-17 11:25:20编辑过]
if chongfu=false then i=i+1 rs.move num ''移到改随机行 Response.write rs("tm_id")&" " Response.write rs("tm_tm")&"<p>" ''出该条记录 end if rs.movefirst ''别忘了再把指针移到第一条 loop rs.close set rs = nothing
%>
[此贴子已经被作者于2005-5-17 11:55:51编辑过]