请问下下面这两段程序有什么区别吗,结果都是一样

来源:百度知道 编辑:UC知道 时间:2024/06/07 03:46:00
<%
set PSRs2=server.CreateObject("ADODB.Recordset")
PSRs2.Open "select * from Sort2 where SortID=" & SortID,conn,1,1
while not PSRs2.EOF
Set TotalRs=conn.execute("select count(PID) as Total1 from Product where Flag=1 and TypeID=" & PSRs2("TypeID"))
Total=TotalRs("Total1")
%>

<li><a href="Search.asp?SortID=<%=PSRs2("SortID")%>&TypeID=<%=PSRs2("TypeID")%>"><%=PSRs2("TypeName")%></a>(<%=Total%>)</li>
<%
PSRs2.MoveNext
if not PSRs2.EOF then
Set TotalRs=conn.execute("select count(PID) as Total1 from Product where Flag=1 and TypeID=" & PSRs2("TypeID"))
Total=TotalRs("Total1")
%>
<li><a href="Search.asp?SortID=<%=PSRs2("SortID")%>&Type

从程序逻辑上看,第一段代码是每两个作为一个组进行输出,直至输出完毕,第二段代码是每次输出一个,直至输出完毕。原则上效果应该是完全一样的。

但是实在想不到你说的问题的原因是什么。你可以尝试减少输出的变量,进一步精简程序,一步步跟踪,看看问题是出在什么地方。