| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2176 人关注过本帖
标题:ADODB.Field (0x80020009)BOF 或 EOF 中有一个是“真”,或者当前的记录已被 ...
只看楼主 加入收藏
青青
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-9-28
收藏
 问题点数:0 回复次数:7 
ADODB.Field (0x80020009)BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,

各位大哥哥,帮帮小妹啊,我做了好几天,都是出错,不知道错在那里,望大哥哥帮帮忙修改一下这个文件,谢谢啦

搜索更多相关主题的帖子: BOF EOF Field ADODB 记录 
2007-09-28 09:22
青青
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-9-28
收藏
得分:0 
iSxjhJa5.rar (1.81 KB) ADODB.Field (0x80020009)BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要


就是这个文件了,再做不错来,就惨了,请大家帮帮忙啊
谢谢
2007-09-28 09:25
天涯听雨
Rank: 2
来 自:东莞
等 级:论坛游民
威 望:4
帖 子:497
专家分:64
注 册:2007-8-25
收藏
得分:0 
有一个是“真”,或者当前的记录已被删除

很明显的错识,当前没有一条记录可以操作。

查看一下,是否是循环出错,或者,sql语句有没有问题……

从明天起做幸福的人,喂马劈柴周游世界!
2007-09-28 09:56
青青
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2007-9-28
收藏
得分:0 
怎么没有人帮我呀,在线等啊
2007-09-28 09:56
天涯听雨
Rank: 2
来 自:东莞
等 级:论坛游民
威 望:4
帖 子:497
专家分:64
注 册:2007-8-25
收藏
得分:0 

<%
useid=trim(Request.QueryString("id")+"")+trim(Request("id")+"")
if len(useid)<1 then
Response.Redirect("cha_xun.htm")
end if

Set rs=Server.CreateObject("ADODB.Recordset")
strsql="select * from book5 where id="+useid
rs.Open strsql,conn
%>

___________________________________________________________________

红色部份不明白楼主接收传来的用户ID参数为怎么接收,很有错误

可能是写成这样吧:useid=trim(Request.QueryString("id")) 或者: useid=trim(request("id"))

但也不知道你是要相加还是进行连接

如果是相加:userid=Clng(trim(Request.QueryString("id")))+Clng(trim(request("id")))
如果是相连:userid=trim(Request.QueryString("id"))&trim(request("id")))


下面打开记录集写法也有一些错误,这样更快一些

set rs=Conn.exeCute("select top 1 * from book5 where id="&useid&"")

这里你就要判断一下,如果没有找到记录的情况:

if rs.bof and rs.eof then
response.write"<script language=JavaScript>alert('对不起,没有找到相关数据,请返回重新操作!');history.back(-1)</script>"
response.end
end if

你出现上述错识,就是因为是在没有找到记录的情况下,才报上面的错误,所需的操作要求一个当前的记录

[此贴子已经被作者于2007-9-28 10:15:02编辑过]


从明天起做幸福的人,喂马劈柴周游世界!
2007-09-28 10:14
madpbpl
Rank: 4
等 级:贵宾
威 望:11
帖 子:2876
专家分:244
注 册:2007-4-5
收藏
得分:0 

碰到这种情况一般是因为表里的一条记录已经不存在的原因。
假设你的数据库链接用的是conn,再假设你的记录集为rs,
则调用你需要的结果前加上下面几句
if rs.eof and rs.bof then
response.write "数据记录不存在或已删除"
else
...... '这里再执行你的语句
end if
其实3楼已经给你答案了。

2007-09-28 10:19
piaoxue
Rank: 3Rank: 3
来 自:地球
等 级:论坛游侠
威 望:3
帖 子:606
专家分:113
注 册:2005-9-19
收藏
得分:0 
换成这样写     strsql="select * from book5  where id="&amp;useid  试试

我是做平面设计、网站制作、网站推广、主机域名等业务的站长。有需要的给我站内信吧。
2007-09-28 10:19
piaoxue
Rank: 3Rank: 3
来 自:地球
等 级:论坛游侠
威 望:3
帖 子:606
专家分:113
注 册:2005-9-19
收藏
得分:0 
你这句话什么意思 useid=trim(Request.QueryString("id")+"")+trim(Request("id")+"") 为什么相加呢? id 的数据类型对吗??  

我是做平面设计、网站制作、网站推广、主机域名等业务的站长。有需要的给我站内信吧。
2007-09-28 10:22
快速回复:ADODB.Field (0x80020009)BOF 或 EOF 中有一个是“真”,或者当前的记 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014874 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved