(急救asp)ADODB.Field 错误 '80020009'

来源:百度知道 编辑:UC知道 时间:2024/06/20 15:52:37
<%
set rscw=server.CreateObject("adodb.recordset")
sql="select * from pirce where dingdan_id="&id&""
rscw.open sql,conn,1,3
%>
...............
<%
do while not rscw.eof
%>
<tr align="center">
<td width="25%"><%=rscw("leixing")%></td>
</tr>
<% rscw.movenext
loop
%>
报错如下:
ADODB.Field 错误 '80020009'

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

/agent/Management/promote_gjc_detail.asp,行 0

数据输出显示正常~
只是输出的是一条记录1
而不是多条!
并且当去掉
<%
do while not rscw.eof
%>
<% rscw.movenext
loop
%>
就不会报错了!

这是怎么会事情?该怎么改呢?id不为空!

这样试试:
<%
if not(rscw.eof and rscw.bof) then
do while not rscw.eof
%>
<% rscw.movenext
loop
end if
%>

你的记录为空了
要加一个判断句BOF 或 EOF 意思就是开始或结束有一个为真值,代表没值了,,所以你要在这外面加一个if来判断就可以了

你没有判断记录集是否为空!!