台灣最大程式設計社群網站
線上人數
3407
 
會員總數:246323
討論主題:189853
歡迎您免費加入會員
討論區列表 >> ASP >> [ASP]搞不懂的問題BOF 或 EOF
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[ASP]搞不懂的問題BOF 或 EOF
價值 : 0 QP  點閱數:972 回應數:8
樓主

蔣宗佑
初學者
46 17
62 22
發送站內信

錯誤類型:
ADODB.Recordset (0x800A0BCD)
可能是 BOF 或 EOF 的值為 True,或目前的資料錄已被刪除。所要求的操作需要目前的資料錄。
/p2/editbook.asp, line 11

這是哪裡出錯呢??

搜尋相關Tags的文章: [ eof ] ,
本篇文章發表於2002-08-02 17:39
1樓
回應

sdargon
檢舉此回應
/p2/editbook.asp的第11行有錯...
本篇文章回覆於2002-08-02 17:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

蔣宗佑
檢舉此回應
我想修改資料..以下是我的原始碼
<%
id=request("id")
Set conn=Server.CreateObject("ADODB.Connection")
param = "driver={Microsoft Access Driver (*.mdb)}"
conn.Open param & ";dbq=" & Server.MapPath("plan.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")
sqlstr="select * from [unit] where [id] like '" & id & "'"
rs.open sqlstr,conn,3,2
if request("Request_Method")="POST" then
   
   rs("unit")=request("unit") '--這裡有錯???
   rs("chiname")=request("chiname") 
   rs("aclass")=request("aclass")
   rs("atime")=request("atime")
   rs("level")=request("level")
   
  behavior=request("behavior")
  behavior=behavior&vbCrSl
  behavior=Replace(behavior, chr(10)&chr(13), "<br>")
  behavior=Replace(behavior, chr(13), "<br>")
  rs("behavior")=behavior
  
  rs("way")=request("way")
  rs("act1")=request("act1")
  rs("act2")=request("act2")
  rs("act3")=request("act3") 
  rs("summ")=request("summ") 
  rs("source")=request("source")
  rs("obj1")=request("obj1")
  rs("obj2")=request("obj2")
  rs("obj3")=request("obj3")

  
  
  rs.Update
  rs.close
  conn.close
  response.redirect "index1.asp"
  response.end 
本篇文章回覆於2002-08-02 17:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

sdargon
檢舉此回應
可以算是...
當你的select * from [unit] where [id] like '" & id & "'這串sql
令rs.open sqlstr,conn,3,2它在開rs時沒有任何資料的話
那自然也沒有rs("unit")可以讓你做任何事....
本篇文章回覆於2002-08-02 17:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

以德
檢舉此回應
簡單的來說 BOF 是資料表開頭指標
EOF 是資料表結尾指標 當你現在這資料同時擁有這兩個指標的時候
表示你所搜尋的條件並沒有找到任何資料
您可以用 
'如果不是資料底端那就 .........
If Not rs.EOF Then 
............
End If
來排除這種錯誤
本篇文章回覆於2002-08-02 19:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
作者回應

蔣宗佑
檢舉此回應
各位大哥..
依我這個程式應該怎麼改呢??
本篇文章回覆於2002-08-02 20:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

桂正和
捐贈 VP 給 桂正和 檢舉此回應
==您的原始碼==
<%
id=request("id")
Set conn=Server.CreateObject("ADODB.Connection")
param = "driver={Microsoft Access Driver (*.mdb)}"
conn.Open param & ";dbq=" & Server.MapPath("plan.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")
sqlstr="select * from [unit] where [id] like '" & id & "'"
rs.open sqlstr,conn,3,2
if request("Request_Method")="POST" then
   
   rs("unit")=request("unit") '--這裡有錯???
   rs("chiname")=request("chiname") 
   rs("aclass")=request("aclass")
   rs("atime")=request("atime")
   rs("level")=request("level")
   
  behavior=request("behavior")
  behavior=behavior&vbCrSl
  behavior=Replace(behavior, chr(10)&chr(13), "<br>")
  behavior=Replace(behavior, chr(13), "<br>")
  rs("behavior")=behavior
  
  rs("way")=request("way")
  rs("act1")=request("act1")
  rs("act2")=request("act2")
  rs("act3")=request("act3") 
  rs("summ")=request("summ") 
  rs("source")=request("source")
  rs("obj1")=request("obj1")
  rs("obj2")=request("obj2")
  rs("obj3")=request("obj3")

  
  
  rs.Update
  rs.close
  conn.close
  response.redirect "index1.asp"
  response.end 


==我覺得可以加上的部分==
<%
id=request("id")
Set conn=Server.CreateObject("ADODB.Connection")
param = "driver={Microsoft Access Driver (*.mdb)}"
conn.Open param & ";dbq=" & Server.MapPath("plan.mdb")
Set rs=Server.CreateObject("ADODB.Recordset")
sqlstr="select * from [unit] where [id] like '" & id & "'"
rs.open sqlstr,conn,3,2
if request("Request_Method")="POST" then

'新加入的部分
If Not rs.Bof or Rs.Eof then '這是指若不是找不到資料...就執行取出資料的動作 
   
   rs("unit")=request("unit") '--這裡有錯???
   rs("chiname")=request("chiname") 
   rs("aclass")=request("aclass")
   rs("atime")=request("atime")
   rs("level")=request("level")
   
  behavior=request("behavior")
  behavior=behavior&vbCrSl
  behavior=Replace(behavior, chr(10)&chr(13), "<br>")
  behavior=Replace(behavior, chr(13), "<br>")
  rs("behavior")=behavior
  
  rs("way")=request("way")
  rs("act1")=request("act1")
  rs("act2")=request("act2")
  rs("act3")=request("act3") 
  rs("summ")=request("summ") 
  rs("source")=request("source")
  rs("obj1")=request("obj1")
  rs("obj2")=request("obj2")
  rs("obj3")=request("obj3")

  
  
  rs.Update
  rs.close
  conn.close
  response.redirect "index1.asp"
  response.end 

else '萬一找不到該筆資料
%>
沒有您要的資料唷
<%end if%>
本篇文章回覆於2002-08-02 21:24
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
作者回應

蔣宗佑
檢舉此回應
奇怪喔...我抓資料怎麼都只抓到第一筆資料
本篇文章回覆於2002-08-02 22:53
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

桂正和
捐贈 VP 給 桂正和 檢舉此回應
應該是因為你的id值一直都是1..
所以只抓到第一筆資料..
本篇文章回覆於2002-08-03 02:19
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.