一个判断语句,请教老大

来源:百度知道 编辑:UC知道 时间:2024/06/09 08:43:31
<% set rs1=server.createobject("adodb.recordset")
rs1.open"select * from recomment where bno='"&session("bno")&"'",conn,1,3
if rs1.bof or rs1.eof then
rs1.close
set rs1=nothing
response.write"<tr><td>暂无评论!</td></tr>"
response.end()
else
do while not rs1.eof
%>
<tr>
<td>
发言人:<%=rs1("uname")%>  发表时间:<%=rs1("comdate")%>
</td>
</tr>
<tr>
<td><%=rs1("recomment")%></td>
</tr>
<%
rs1.movenext
loop
end if
rs1.close
set rs1=nothing
%>

就这么个判断语句,评论用的,如果数据库里有评论就输出评论,如果没有,就输出“暂无评论!”,且无论有无评论,下面都设有评论输入框,供读者评论。现在数据库里无评论数据,所以这个代码应该是显示完“暂无评论!”后,再显示评论输入框,但好像是判断句有错的原因,在显示完“暂无评论!”后,其反的代码失效,即后面代码要实现的功能全部无效,且不报错,高手们帮我看看是不是哪个语句没有关好,还是原本语句写的就有错?先谢谢各位了,有满意答案,我

response.write"<tr><td>暂无评论!</td></tr>"
response.end()
执行了response.end()语句,当然下面的就不会执行了。

另外即就是不执行response.end()语句,如果你的数据表没有记录,那么再次执行rs1.close, set rs1=nothing语句会发生错误,因此必须将上面语句放在end if的前面,或删除“暂无评论”上面的这二个语句。

再次,“再显示评论输入框”?没有发现你的评论输入框在那里,怎么显示?

你程序中的<%=rs1("uname")%>这类语句都应该改为:<%=rs1.fields("uname")%>,语法是:记录集对象名.fields("字段名"),
此外,我个人认为
if rs1.bof or rs1.eof then
rs1.close
set rs1=nothing
中的rs1.close
set rs1=nothing 这两句没必要。

response.end() 语句后的所有语句都不在输出了.所以如果后面还有其他的语句要输出,就不要使用response.end()