注册 登录
编程论坛 ASP技术论坛

请各位大虾不吝赐教! 995

jsy110 发布于 2008-02-25 16:18, 771 次点击
<%
      if session("name")="" then
             Response.Write "<Script>alert('对不起,您还没有登录!');history.go(-1);</Script>"
             Response.End                    
      End if
         set rs= Server.CreateObject("ADODB.Recordset")
         sql="select * from [news]  where editor= '"& session("name") &"' order by time desc "
          rs.open sql,conn,3,3
       if rs.Bof or rs.Eof then
        Response.Write "<Script>alert('对不起,目前还没有您发表的文章!');history.go(-1);</Script>"
        Response.End
          End if
          Do while not rs.Eof
             rs.movenext
          %>
      <tr>
        <td height="28" valign="top" class="t3"><%= session("name")%>发表过的文章</td>
      </tr>
      <tr>
        <td height="27" align="left" valign="middle" class="t2">
        <%= rs("class") %>
        &nbsp;&nbsp;&nbsp;标题:<%= rs("title") %>&nbsp;&nbsp;&nbsp;发布时间:<%= rs("time") %>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="News_edit.asp?id=rs("id")">修改</a></td>
      </tr>
      <%
      Loop
       %>
该页执行后浏览器报错,错误提示为:
错误类型:
ADODB.Field (0x80020009)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/News_edit_main.asp
4 回复
#2
yms1232008-02-25 17:17
Do while not rs.Eof
            
          %>
      <tr>
        <td height="28" valign="top" class="t3"><%= session("name")%>发表过的文章</td>
      </tr>
      <tr>
        <td height="27" align="left" valign="middle" class="t2">
        <%= rs("class") %>
           标题:<%= rs("title") %>   发布时间:<%= rs("time") %>      
<a href="News_edit.asp?id=rs("id")">修改</a></td>
      </tr>
      <%
         rs.movenext
      Loop
rs.movenext要和loop放在一起,这样到了最后一条才不会出现EOF错误
#3
smlx98072008-02-25 17:20
楼上正解!!!
#4
yms1232008-02-25 17:24
Do while not rs.Eof
   道理很明显当这个循环到最后一条时not rs.eof这个条件成立
   而楼主代码第一句话rs.movenext这时最后一条再下一条就是eof
   下面的代码再显示数据时肯定会出现EOF错误。
#5
jsy1102008-02-26 08:07
感谢各位大虾!
问题已经解决,感谢各位大虾!
1