台灣最大程式設計社群網站
線上人數
596
 
會員總數:245973
討論主題:189551
歡迎您免費加入會員
討論區列表 >> ASP >> [ASP]如何抓資料ㄋㄟ???
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
[ASP]如何抓資料ㄋㄟ???
價值 : 0 QP  點閱數:922 回應數:14
樓主

肉腳
初學者
85 22
108 40
發送站內信

我的資料如下:
id  replyid  name
-----------------
1       0      aaa
2       0      bbb
3       2      ccc
4       1      ccc        id這欄的資料是自動增加的.....


    Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DSN=zz;UID=sa;PWD=;Database=qqq" 

 SQL_reply="select * from discussions where d_replyid <> '0' "
 SQL="select * from discussions where d_replyid = '0' "
 Set rs1 = Server.CreateObject("ADODB.Recordset")
 Set rs = Server.CreateObject("ADODB.Recordset")
 rs.Open SQL,conn ,1,1 '開啟Recordset物件
 rs1.Open SQL_reply,conn,1,1 '開啟另個Recordset物件

我用了rs及rs1分別來區分出replyid的不同....也就是說當沒有replyid時是問問題者
而有replyid時是回應者......

FOR SH=1 to RS.PageSize  
   response.write "<table><tr><td>" & rs("name") & "</td></tr>

   if rs("id")=rs1("replyid") then
   FOR k=0 to rs1.PageSize
   response.write "<tr><td>" & rs1("name") & "</td></tr>"
   Next
   response.write "</table>"

   RS.MoveNext
   IF RS.EOF THEN EXIT FOR
Next
而現在我的問題是網頁顯示不認識rs1??
哪裡有問題??我該怎麼修ㄋㄟ??


本篇文章發表於2002-07-16 21:30
1樓
回應

肉腳
檢舉此回應
邏輯上應該沒有問題吧???
本篇文章回覆於2002-07-16 22:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

March
檢舉此回應
可不可以把錯誤訊息列出
本篇文章回覆於2002-07-16 23:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

肉腳
檢舉此回應
目前我修了會出現
回應的rs1("name")會一直重複出現在id 2的下面....可是卻不會出現id 4
怎會這樣ㄋㄟ??
本篇文章回覆於2002-07-16 23:18
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

肉腳
檢舉此回應
我修了
FOR SH=1 to RS.PageSize  
   response.write "<table><tr><td>" & rs("name") & "</td></tr>

   if rs("id")=rs1("replyid") then
   FOR k=0 to rs1.PageSize
   response.write "<tr><td>" & rs1("name") & "</td></tr>"
   Next
   response.write "</table>"
   end if

   RS.MoveNext
   IF RS.EOF THEN EXIT FOR
Next

但結果卻不是我想要的....而且rs1("name")並沒有全部顯示出....why??
若我網頁只有rs1....卻可將rs1("name")全部秀出!!!
本篇文章回覆於2002-07-16 23:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

March
檢舉此回應
FOR SH=1 to RS.Recordcount 
   response.write "<table><tr><td>" & rs("name") & "</td></tr>

   if rs("id")=rs1("replyid") then
   FOR k=0 to rs1.Recordcount
   response.write "<tr><td>" & rs1("name") & "</td></tr>"
   Next
   response.write "</table>"
   end if

   RS.MoveNext
   IF RS.EOF THEN EXIT FOR
Next
=====================================
try try 看
本篇文章回覆於2002-07-16 23:33
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

肉腳
檢舉此回應
試了....就是我說的....只會出現重複的replyid 1於id 1下面....但replyid 2卻沒有出現
真是太奇怪了!!!.....邏輯應該沒問題吧???
本篇文章回覆於2002-07-16 23:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

肉腳
檢舉此回應
我發現每新增一筆reply就會出現於相同id的下面....這是我要的
但只會出現新增的....舊的卻不會出現.....這是哪裡有問題ㄋㄟ??
本篇文章回覆於2002-07-16 23:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

March
檢舉此回應
我覺的你的邏輯怪怪的
可不可以把你所需的結果用簡單地圖表示
本篇文章回覆於2002-07-17 00:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
回應

肉腳
檢舉此回應
我需要的是
id 1    aaa
 id 4    ccc
id 2    bbb
 id 3    ccc
-------------------  類似留言回應

我現在又修了
FOR SH=1 to RS.PageSize  
   response.write "<table><tr><td>" & rs("name") & "</td></tr>

   if rs("id")=rs1("replyid") then    <-----line 135
   FOR k=0 to rs1.PageSize
   response.write "<tr><td>" & rs1("name") & "</td></tr>"
   rs1.MoveNext
   IF rs1.EOF THEN EXIT FOR
   Next
   response.write "</table>"

   RS.MoveNext
   IF RS.EOF THEN EXIT FOR
Next


錯誤類型:
(0x80020009)
不明的名稱。 
/textbook/discussion/gbook1.asp, line 135

究竟錯在哪裡ㄋㄟ???
本篇文章回覆於2002-07-17 00:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

March
檢舉此回應
以上程式是不是直接從,如果是那以下那一行有錯
FOR SH=1 to RS.PageSize  
   response.write "<table><tr><td>" & rs("name") & "</td></tr> "  ----->少了'  " '
                                                                                     --
本篇文章回覆於2002-07-17 00:30
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
回應

March
檢舉此回應
以上程式是不是直接從原始檔copy,如果是那以下那一行有錯
FOR SH=1 to RS.PageSize  
   response.write "<table><tr><td>" & rs("name") & "</td></tr> "  ----->少了'  " '
本篇文章回覆於2002-07-17 00:31
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

肉腳
檢舉此回應
對不起~~~是我寫問題時少打....但我程式是有寫的.....所以想詢問到底問題是出在哪裡ㄋㄟ??
本篇文章回覆於2002-07-17 19:58
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

March
檢舉此回應
   Set conn = Server.CreateObject("ADODB.Connection")
    conn.Open "DSN=zz;UID=sa;PWD=;Database=qqq" 
 SQL="select * from discussions where d_replyid = '0' "
 Set rs1 = Server.CreateObject("ADODB.Recordset")
 Set rs = Server.CreateObject("ADODB.Recordset")
 rs.Open SQL,conn ,1,1 '開啟Recordset物件
  '開啟另個Recordset物件


FOR SH=1 to RS.Recordcount 
   response.write "<table><tr><td>" & rs("name") & "</td></tr>

   SQL_reply="select * from discussions where d_replyid = '" & rs("id") & "'"
   rs1.Open SQL_reply,conn,1,1
   FOR k=0 to rs1.Recordcount
     response.write "<tr><td>" & rs1("name") & "</td></tr>"
     rs1.MoveNext
   Next
   rs1.close
   set rs1=nothing
   response.write "</table>"
   end if

   RS.MoveNext
   IF RS.EOF THEN EXIT FOR
Next
本篇文章回覆於2002-07-17 20:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
作者回應

肉腳
檢舉此回應
很感謝樓上您的幫忙!!!....這次它好像變不認得rs....仍是出現
錯誤類型:
(0x80020009)
不明的名稱。 

我想了想可能是我邏輯跑的不是很正確...而造成所以難解的習題....現在我改用另外一種方式來試試看能不能把這個問題解決...but anyway thanks a lot for your help!!!^_^
本篇文章回覆於2002-07-17 20:44
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

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