注册 登录
编程论坛 ASP技术论坛

请教高手:很奇怪的问题?遇到过的人很多 ADODB.Field (0x800A0BCD)错误

lihanlin 发布于 2008-10-15 16:32, 1142 次点击
请教高手:很奇怪的问题?遇到过的人很多

错误类型:
ADODB.Field (0x800A0BCD)
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。
/habooknet/web/Vote-modify.asp, 第 288 行

部分代码如下:(代码已打包到附件)
<%  
Dim rsVoteItems
Dim rsVoteItems_numRows
Set rsVoteItems = Server.CreateObject("ADODB.Recordset")
rsVoteItems.ActiveConnection = MM_habook_STRING
rsVoteItems.Source = "SELECT * FROM tVoteltems WHERE TitleID = " + Replace(rsVoteItems__MMColParam, "'", "''") + ""
rsVoteItems.CursorType = 0
rsVoteItems.CursorLocation = 2
rsVoteItems.LockType = 1
rsVoteItems.Open()
rsVoteItems_numRows = 0
%>

......
  
  <input type="hidden" name="MM_update" value="form1">
  <input type="hidden" name="MM_recordId" value="<%= rsVoteTitle.Fields.Item("TitleID").Value %>"> '第 288 行
  
我发现遇到过此情况的人很多,错误在于没有选择出数据,rsVoteTitle是个空记录集,所以运行到
="<%= rsVoteTitle.Fields.Item("TitleID").Value %>"> 这一句就会出错。
[bo]当我加入如下语句后  BOF 或 EOF错误没有了,但是却更新不了数据库内的记录,高手帮我啊 [/bo]

  <%if not rsVoteTitle.Eof and not rsVoteTitle.Bof Then%>
  <input type="hidden" name="MM_update" value="form1">
  <input type="hidden" name="MM_recordId" value="<%= rsVoteTitle.Fields.Item("TitleID").Value %>">
  <%Else%>
找不到相关记录
<%End if%>
5 回复
#2
yms1232008-10-15 17:13
又是Dreamweaver生成的ASP
#3
yms1232008-10-15 17:16
rsVoteItems.CursorLocation = 2
rsVoteItems.LockType =3
这里改成3试试看。
#4
lihanlin2008-10-16 09:17
好多人跟我一样只会用Dreamweaver生成的ASP
我希望能真正解决此问题

yms123同志:我把它改成rsVoteItems.LockType =3 还是不行啊
#5
lihanlin2008-10-16 09:27
解决了,
它NN的,
Repeat1__numRows = -1   '第167行
把它改成Repeat1__numRows = 0 就OK了
但是菜鸟我对此改不明白!!!哪位高手科普一下
#6
lihanlin2008-10-16 09:32
不加这些语句:<%if not rsVoteTitle.Eof and not rsVoteTitle.Bof Then%>
            <%Else%>找不到相关记录<%End if%>
只要改Repeat1__numRows = 0 也是OK

菜鸟我不明白为什么会出现Repeat1__numRows = -1 !!!  哪位高手科普一下

菜鸟我在此先谢谢了
1