2012-04-25 72 views
1

我在下面的sql中有一個錯誤。ASP SQL查詢拋出錯誤

(SELECT shorthand, display, larry_ranking, site_url 
FROM larrydb_site_list lsl JOIN larrydb_review lr on 
lsl.sid = lr.sid 
WHERE display=true AND niche='regular' 
ORDER BY larry_ranking DESC Limit 2) 


UNION 


(SELECT shorthand, display, larry_ranking, site_url 
FROM larrydb_site_list lsl JOIN larrydb_review lr on 
lsl.sid = lr.sid 
WHERE display=true AND niche='regular' AND shorthand='sexier') 

我把它改成一條線:

dim rsFav 
sSQL = "(SELECT shorthand, display, larry_ranking, site_url FROM larrydb_site_list lsl JOIN larrydb_review lr on lsl.sid = lr.sid WHERE display=true AND niche='regular' ORDER BY larry_ranking DESC Limit 2) UNION (SELECT shorthand, display, larry_ranking, site_url FROM larrydb_site_list lsl JOIN larrydb_review lr on lsl.sid = lr.sid WHERE display=true AND niche='regular' AND shorthand='sexier')" 
Set rsFav = objConn.Execute(sSQL) 

我得到這個錯誤..

ADODB.Recordset error '800a0cc1' Item cannot be found in the collection corresponding to the requested name or ordinal. 

/sandbox/inc_fav_sites.asp,29行

我認爲問題出在sql字符串中。 ...不是在ASP code..cause我沒有去碰它

這條線29 <a href="http://livecamdeals.com/review.asp?sitename=<%=LCase(rsFav(""))%>"></a>

對不起,我不知道ASP編程,但SQL ..

回答

4

您的問題是,在ASP,你問的RecordSet(即來自SQL的結果)爲名爲""(空字符串)的列。

顯然,你是SQL不會返回這樣的列!

解決方法是更改​​ASP代碼以選擇正確的列。例如。選擇site_url列:

LCase(rsFav("site_url") 
+1

謝謝,真棒,它已經幫助 – 2012-04-25 09:45:21