聊斋奇女子之侠女12:初级ASP代码求助

来源:百度文库 编辑:查人人中国名人网 时间:2024/05/10 10:58:48
<table width="100%" border="1">
<% rs.movefirst %>
<%
i=0
Do While Not rs.eof and i<9
%>

<tr>
<td width="99" height="20"><%= rs("name") %></td>
<td width="100"><%= rs("time") %></td>
<td colspan="2"><%=rs("content")%></td>
</tr>
<% if rs.eof then %>
<tr>
<td width="99" height="20"> </td>
<td width="100"> </td>
<td colspan="2"> </td>
</tr>
<% end if %>
<%
i=i+1
rs.MoveNext
Loop
%>

建立个9行3列的表格显示数据库中的数据
数据库内容不足9行则显示空行

代码哪有问题啊! 无法加入空行

首先主人的问题在于,你的循环要求满足两个要求,所以当数据库到达末尾的时候就无法执行循环了,那么怎么会添加空行呢?所以我做了一下改动,去掉一个条件,然后根据是否在表的末尾进行判断,分别书写代码就可以实现你要的效果了。
楼上的可以实现效果,但是两个循环独立,够麻烦的。
<% rs.movefirst
i=0
Do While i<9
if not rs.eof then
%>
<tr>
<td width="99" height="20"><%= rs("name") %></td>
<td width="100"><%= rs("time") %></td>
<td colspan="2"><%=rs("content")%></td>
</tr> '如果有记录则书写记录
<%
rs.MoveNext
else
%>
<tr>
<td width="99" height="20"> </td>
<td width="100"> </td>
<td colspan="2"> </td>
</tr> '如果没有记录则书写空格
<% end if
i=i+1
Loop
%>

看看你程序的判断意图:
1.当记录没到底并且I小于9时执行以下操作:...
2.如果记录集读完则执行以下操作:...
3.I自加

试想当记录集读完时连第一步都不操作了,怎么还能操作第二步?所以在上面的程序中if后面的条件语句无任何实质的作用!
把if语句拿出来改动一下,用i作为判断依据:
<table width="100%" border="1">
<% rs.movefirst %>
<%
i=0
Do While Not rs.eof and i<9
%>

<tr>
<td width="99" height="20"><%= rs("name") %></td>
<td width="100"><%= rs("time") %></td>
<td colspan="2"><%=rs("content")%></td>
</tr>
<%
i=i+1
rs.MoveNext
Loop
%>
<% do while (9-i)>1 %>
<tr>
<td width="99" height="20"> </td>
<td width="100"> </td>
<td colspan="2"> </td>
</tr>
<% i=i+1
loop%>
这样应该没有问题了!