経つ:asp 中两个循环 急急急!

来源:百度文库 编辑:中科新闻网 时间:2024/04/29 05:20:11
<%
set rs=server.CreateObject("adodb.recordset")
set rs1=server.CreateObject("adodb.recordset")
sqlstr="select top 20 * from bbstitle where BoardID_2 like 'A_1_%' order by hit desc"
rs.open sqlstr,conn,1,3
sql="select top 20 * from bbs_cate where BBS_Cate_PID = '"&rs("BoardID_1")&"'"
rs1.open sql,conn,1,3
%>
<table width="427" border="1" cellspacing="0">
<tr><%
i=0
do while not rs1.eof
do while not rs.eof
if i mod 2=0 then response.write("<tr>")
%>
<td> <%=rs1("BBS_Cate_Name")%><%=rs("title")%></td><%
if i mod 2=1 then response.write("</tr>")
rs1.movenext
rs.movenext

i=i+1
loop
loop
%>
</tr>
</table>
显示得很慢很慢,最后超时!出现:错误类型:
Active Server Pages, ASP 0113 (0x80004005)
超过了脚本运行的最长时间。可以为 Server.ScriptTimeOut 属性指定新值或更改 IIS 管理工具中的相应值来更改此限制。
不好意思,刚才写不清楚,我要的结果的是:
在一个表中显示文章的[类型]后面+标题,分成两列显示
而类型和标题是在数据库不同的表中~~如果单循环标题或类型是没问题的,两个一齐就不行了.

不很明白你程序要获得结果是什么
但你两个循环的位置我表示一下怀疑
试试下面的是不是你要的结果
<%
set rs=server.CreateObject("adodb.recordset")
set rs1=server.CreateObject("adodb.recordset")
sqlstr="select top 20 * from bbstitle where BoardID_2 like 'A_1_%' order by hit desc"
rs.open sqlstr,conn,1,3
sql="select top 20 * from bbs_cate where BBS_Cate_PID = '"&rs("BoardID_1")&"'"
rs1.open sql,conn,1,3
%>
<table width="427" border="1" cellspacing="0">
<tr><%
i=0
do while not rs1.eof
do while not rs.eof
if i mod 2=0 then response.write("<tr>")
%>
<td> <%=rs1("BBS_Cate_Name")%><%=rs("title")%></td><%
if i mod 2=1 then response.write("</tr>")

rs.movenext

i=i+1
loop
rs1.movenext
loop
%>
</tr>
</table>

do while not rs1.eof
do while not rs.eof
if i mod 2=0 then response.write("<tr>")
%>
<td> <%=rs1("BBS_Cate_Name")%><%=rs("title")%></td><%
if i mod 2=1 then response.write("</tr>")
rs1.movenext
rs.movenext

这里循环写错了吧 貌似死循环了
里面的应该是循环rs 外面循环RS1