回 帖 发 新 帖 刷新版面

主题:求助:这是怎么回事,急,在线等,谢谢


                      <%
sql="select top 10 id,title,laiyuan,content,titlecolor,zz from [News] where lm='72' order by id desc"   
Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open sql,conn,1,1
if rs.eof then
response.write"暂无信息"
else
do while not rs.eof
%>
                      <table width="100%" border="0" cellspacing="0" cellpadding="3">
                        <TBODY>
                          <TR> 
                            <TD width="50%" height="25">·<a href=/news_view.asp?newsid=<%=rs("id")%> target="_blank" > 
                              <%=left(rs("title"),20)%> 
                              </a> </TD>
                            <%rs.movenext %>
                            <TD width="50%">·<a href=/news_view.asp?newsid=<%=rs("id")%> target="_blank"> 
                              <%=left(rs("title"),20)%> 
                              </a> </TD>
                          </TR>
                        </TBODY>
                      </TABLE>
                      <%
rs.movenext
loop
end if
rs.close
set rs=nothing
%>
                     

这是5行2列的显示代码,可是最后一条总是出现下面的错误,请各位哥哥姐姐指导一下,感觉代码没问题呀


[b][color=FF0000]ADODB.Field 错误 '80020009' 

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。 [/color][/b]

回复列表 (共5个回复)

沙发

你数据库中符合lm=72你sql语句的记录是不是单数,且不超过10条,如果是,你将符合lm=72的记录增加到10条以上,就不会出现这个问题了。

板凳

如果没猜错的话你此时在查询分析器中执行的结果不是10条记录可能为9条造成的。只要是单数就不行的.所以在这种需求中不要这样写由其是在do while not rs.oef中写,这样写也行就是每次在rs.movenext之后就判断是否eof就可以了.也就是上面第一个rs.movenext下面用一个if rs.eof 根据情况再决定是输出其它信息还是结果集再往下走.
说明:使用 MoveNext 方法将当前记录向前移动一个记录(向 Recordset 的底部)。如果最后一个记录是当前记录并且调用 MoveNext 方法,则 ADO 将当前记录设置到 Recordset (EOF 为 True)的尾记录之后。当 EOF 属性已经为 True 时试图向前移动将产生错误。

3 楼

shiwei2006您好:

这种情况应该怎么修改一下才能正常呢,我才接触asp,能帮我修改一下马?谢谢!

4 楼

<%rs.movenext %>
<%if not rs.eof then%>
                            <TD width="50%">·<a href=/news_view.asp?newsid=<%=rs("id")%> target="_blank"> 

                              <%=left(rs("title"),20)%> 

                              </a> </TD>
<%rs.movenext
  else%>
 <td>&nbsp;</td>
<%end if%>
                          </TR>
                        </TBODY>
                      </TABLE>
                      <%

5 楼

又有了新的错误

我来回复

您尚未登录,请登录后再回复。点此登录或注册