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

hxhfly 2008-07-30 05:54:10
错误类型:
ADODB.Field (0x80020009)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

说明:数据库肯定有记录,在ACCESS数据库运行是完全正常的,今天改为SQL SERVER数据库运行出现此错误!上网找了一个下午的资料,都没有找到答案.


<!--#include file="conn.asp"-->
<!--#INCLUDE FILE="check.asp" -->

<%
dim uname
uname=session("Uname")
%>
<%Set rs= Server.CreateObject("ADODB.Recordset")
strSql="select * from tongji2 where [username]='"&uname&"' ORDER BY develop_date DESC"
rs.open strSql,Conn,1,3

rs.PageSize=6
pagecount=rs.PageCount
page=int(request.QueryString ("page"))
if page<=0 then page=1
if request.QueryString("page")="" then
page=1
end if
rs.AbsolutePage=page
if rs.BOF and rs.EOf then
response.write ("暂时无内容!")
else
%>
<%
for i=1 to rs.PageSize%>

<td height="63"><div align="center" class="style6 style7"><%=rs("username")%></div></td>
<td><div align="center" class="style9"><%=rs("project")%></div></td>
<td><div align="center" class="style9"><%=rs("zhifen")%></div></td>
<td><div align="center" class="style9"><%=rs("project_number")%></div></td>
<td><div align="center" class="style9"><%=rs("project_leixing")%></div></td>
<td><div align="center" class="style9"><%=rs("kehu_shuxing")%></div></td>
<td><div align="center" class="style9"><%=rs("develop_date")%></div></td>
<td><div align="center" class="style9"><%=rs("bumen")%></div></td>
<td><div align="center" class="style9"><%=rs("bushi")%></div></td>

<td><div align="center" class="style9"><a href="geren_develop_del.asp?id=<%=rs("id")%>" onclick="return cform();">删除</a></div></td>
</tr>
<%rs.MoveNext

next%>
</table>
<div align="center"></div></td>
</tr>

<tr>
<td height="15">
</td>
</tr>

<tr>
<TD height="100" align="center"><%if page=1 and not page=pagecount then%>
<div align="center">第<%=page%>页  <%for i=1 to pagecount%>
<a href="geren_develop.asp?page=<%=i%>"><%=i%></a> <%next%><a href="geren_develop.asp?page=<%=page+1%>">下一页</a>  </div>
<%elseif page=pagecount and not page=1 then%>
<div align="center">第<%=page%>页  <%for i=1 to pagecount%>
<a href="geren_develop.asp?page=<%=i%>"><%=i%></a> <%next%><a href="geren_develop.asp?page=<%=page-1%>">上一页</a>  </div>
<%elseif page<1 then%><div class="font" align="right"><font color=red>没有任何记录!</font></div>
<%elseif page>pagecount then%><div class="font" align="right"><font color=red>没有任何记录!</font></div>
<%elseif page=1 and page=pagecount then%>
<%else%>
<div align="center">第<%=page%>页  <%for i=1 to pagecount%>
<a href="geren_develop.asp?page=<%=i%>"><%=i%></a> <%next%><a href="geren_develop.asp?page=<%=page-1%>">上一页</a>
<a href="geren_develop.asp?page=<%=page+1%>">下一页</a>  </div>
<%end if%></TD>
<%
rs.close
set rs=nothing
end if
conn.close
conn=nothing
%>

帮帮忙!!急!!
...全文
567 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hxhfly 2008-08-03
  • 打赏
  • 举报
回复
嗯,问题已经解决。贴出来的代码没有问题,是因为这个页面我还打开了另一张表,有个字段不能为空的。那段代码没有进行空值判断!
谢谢各位!结贴给分。呵呵 ,少了点分,大家就别在意拉
ld2099 2008-07-31
  • 打赏
  • 举报
回复
现在pagecount=rs.PageCount下面输出:Response.Write pagecount : Response.End,看看有没有记录
jerry9595 2008-07-31
  • 打赏
  • 举报
回复
for i=1 to rs.PageSize
关键问题就在rs.pagesize
jerry9595 2008-07-31
  • 打赏
  • 举报
回复
前两天我还遇到这个问题了,同样也是分页现实,在最后一页会出现这个错误

就是提取记录的时候多循环了一次,所以就要限制一下你每页循环取记录的次数,

如果数据库中的记录不是每页显示的整数倍,就需要用 总记录数 余 每页显示数
jacklinchen 2008-07-30
  • 打赏
  • 举报
回复
if rs.BOF and rs.EOf then 改为 if rs.recordcount <1 then 不就得了
SQL语法大全 SQL语法大全 1. ASP与Access数据库连接: 2. ASP与SQL数据库连接: 建立记录集对象: set rs=server.createobject("adodb.recordset") rs.open SQL语句,conn,3,2 3. SQL常用命令使用方法: (1) 数据记录筛选: sql="select * from 数据表 where 字段名=字段值 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 like \'%字段值%\' order by 字段名 [desc]" sql="select top 10 * from 数据表 where 字段名 order by 字段名 [desc]" sql="select * from 数据表 where 字段名 in (\'值1\',\'值2\',\'值3\')" sql="select * from 数据表 where 字段名 between 值1 and 值2" (2) 更新数据记录: sql="update 数据表 set 字段名=字段值 where 条件表达式" sql="update 数据表 set 字段1=值1,字段2=值2 …… 字段n=值n where 条件表达式" (3) 删除数据记录: sql="delete from 数据表 where 条件表达式" sql="delete from 数据表" (将数据表所有记录删除) (4) 添加数据记录: sql="insert into 数据表 (字段1,字段2,字段3 …) values (值1,值2,值3 …)" sql="insert into 目标数据表 select * from 源数据表" (把源数据表的记录添加到目标数据表) (5) 数据记录统计函数: AVG(字段名) 得出一个表格栏平均值 COUNT(*|字段名) 对数据行数的统计或对某一栏有值的数据行数统计 MAX(字段名) 取得一个表格栏最大的值 MIN(字段名) 取得一个表格栏最小的值 SUM(字段名) 把数据栏的值相加 引用以上函数的方法: sql="select sum(字段名) as 别名 from 数据表 where 条件表达式" set rs=conn.excute(sql) 用 rs("别名") 获取统的计值,其它函数运用同上。 (5) 数据表的建立和删除: CREATE TABLE 数据表名称(字段1 类型1(长度),字段2 类型2(长度) …… ) 例:CREATE TABLE tab01(name varchar(50),datetime default now()) DROP TABLE 数据表名称 (永久性删除一个数据表) 4. 记录集对象的方法: rs.movenext 将记录指针从当前的位置向下移一行 rs.moveprevious 将记录指针从当前的位置向上移一行 rs.movefirst 将记录指针移到数据表第一行 rs.movelast 将记录指针移到数据表最后一行 rs.absoluteposition=N 将记录指针移到数据表第N行 rs.absolutepage=N 将记录指针移到第N页的第一行 rs.pagesize=N 设置每页为N条记录 rs.pagecount 根据 pagesize 的设置返回总页数 rs.recordcount 返回记录总数 rs.bof

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧