求ASP简单程序解决办法。

来源:百度知道 编辑:UC知道 时间:2024/07/01 15:21:29
<!--#include file="conn.asp"-->
<%
if request.cookies("admin")="" then
response.redirect "index.asp"
end if
conn.execute("delete from kc where id=" & request("id"))
response.redirect "kc_system_admin.asp"
%>

这是个删除页面
在我 系统管理员页面 也就是kc_system_admin.asp
库存管理页面中 一个一个删除数据
数据库 不断更新 减少数据
但是 到最后一个了 一闪 就出现问题
会显示
错误类型:
ADODB.Recordset (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/kc_system_admin.asp, 第 44 行

这个问题 怎么解决
<%
set objRS=server.createobject("adodb.Recordset")
objrs.open "kc",conn,1,3,2
objrs.pagesize=5
if request("PageNo")="" then
objrs.absolutepage=1
else
objrs.absolutepage=request("PageNo")
end if
%>

这是 kc_system_admin.asp下的 出错行数程序代码
请高手指教啊!!

楼主的验证方式很不安全..

ADODB.Recordset (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/kc_system_admin.asp, 第 44 行

删光了肯定不能再删了.
我要加一个错误处理语句
或BOF/EOF判断语句.

objrs.open "kc",conn,1,3,2

objrs.open "kc",conn,1,3
if objrs.eof then
response.write("nothing!")
else
......
end if

<%
set objRS=server.createobject("adodb.Recordset")
objrs.open "kc",conn,1,3,2
if not objrs.eof then
objrs.pagesize=5
if request("PageNo")="" then
objrs.absolutepage=1
else
objrs.absolutepage=request("PageNo")
end if
end if
%>

没有判断数据是否到结尾了
objrs.open "kc",conn,1,3
if objrs.eof then
response.write("nothing!")
else

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
这种问题是你没有进行RS记录集的Eof和BOF判断
If Rs.Eof And Rs.Bof Then
'为