请前辈帮忙,关于 asp 循环嵌套
新手学asp+access,求前辈帮忙........拜谢!!!设想效果:1.嵌套查询生成表格
2.以下很多 留空其实是想从内循环内得到的数据再处理,比如求和,取最大值之类
这个是不是需要在内循环建立数组?将数据传出来?还是另写sql直接查询?
出现问题:1.循环不能正常,运行后显示(103928+1 0 操作3)不停重复,报错超出系统负荷
2.为什么直接进入了最内部循环,外边的都没有运行?
3.循环进入死循环?
4.网页显示调试部分出现乱码,浏览器修改用编码用gbk后变成显示内容乱码,调试部分可读,什么情况?
换个角度:1.如果直接用 SELECT * from sitetbl , zonetbl , farmtbl where sitetbl.zoneid=zonetbl.zoneid and zonetbl.farmid=farmtbl.farmid
2.可以得到查询集,怎样处理会得到原设想效果呢?
比如按farmname排列,但farmname只显示一次,
farmname相同的某列area求和,
farmname相同的某列surplusdays取最大值
程序代码:
<!--#include file="inc/Conn.asp"--> <% dim rsfarm,rszone,rssite,b,c,crop set rsfarm=server.CreateObject("adodb.recordset") rsfarm.open "Select * From farmTbl",conn,1,3 a=0 %> <table> <tr height="60"> </tr> <tr> <td> <table> <tr rowspan="11" height="60"> <td>生产概况</td> </tr> <tr> <td height="30">林场名</td> <td height="30">工程名</td> <td height="30">工地名</td> <td height="30">面积/亩</td> <td height="30">人数</td> <td height="30">产率(吨/亩)</td> <td height="30">预产(吨)</td> <td height="30">现产/吨</td> <td height="30">完成率%</td> <td height="30">剩余工期(预计/天)</td> <td height="30">操作</td> </tr> <% do while not rsfarm.eof a=a+1 %> <tr> <td height="30"><%=a%><%=rsfarm("farmName")%></td> <td height="30"> </td> <td height="30"> </td> <td height="30"> </td> <td height="30"> </td> <td height="30"> </td> <td height="30"> </td> <td height="30"> </td> <td height="30"> </td> <td height="30"> </td> <td height="30">操作1</td> </tr> <% set rszone=server.CreateObject("adodb.recordset") rszone.open "Select * From zoneTbl Where farmID='" & rsfarm("farmID") & "'",conn,1,3 if not(rszone.bof and rszone.eof) then b=0 do while not rszone.eof b=b+1 %> <tr> <td height="30"> </td> <td height="30"><%=b%><%=rszone("zoneName")%></td> <td height="30"> </td> <td height="30"> </td> <td height="30"> </td> <td height="30"> </td> <td height="30"> </td> <td height="30"> </td> <td height="30"> </td> <td height="30"> </td> <td height="30">操作2</td> </tr> <% set rssite=server.CreateObject("adodb.recordset") rssite.open "Select * From siteTbl Where zoneID='" & rszone("zoneID") & "'",conn,1,3 if not(rssite.bof and rssite.eof) then c=0 do while not rssite.eof c=c+1 %> <tr> <td height="30"> </td> <td height="30"> </td> <td height="30"><%=c%><%=rssite("zoneName")%></td> <td height="30"><%=rssite("area")%></td> <td height="30"><%=rssite("peopleNum")%></td> <td height="30"><%=rssite("proRate")%></td> <td height="30"> <% crop=0 crop=rssite("area")*rssite("proRate") %> <%=crop%> </td> <td height="30"> </td> <td height="30"><%=rssite("finishRate")%></td> <td height="30"><%=rssite("surplusdays")%></td> <td height="30">操作3</td> </tr> <% rssite.movenext loop end if rssite.close set rssite=nothing %> <% rszone.movenext loop end if rszone.close set rszone=nothing %> <% rsfarm.movenext loop %> </table> </td> </tr> </table> <% rsfarm.close set rsfarm=nothing call CloseConn() %> </tr> </table>
[ 本帖最后由 hutoo 于 2014-4-18 07:57 编辑 ]