1

次の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コードではありません..触れなかったからです

この29行目<a href="http://livecamdeals.com/review.asp?sitename=<%=LCase(rsFav(""))%>"></a>

申し訳ありませんが、私はASPプログラミングを知りませんが、SQL..

4

1 に答える 1

4

あなたの問題は、ASP では、RecordSet (つまり、SQL から返された結果) に""(空の文字列) という列を要求していることです。

明らかに、SQL はそのような列を返しません!!

修正は、ASP コードを変更して正しい列を選択することです。たとえば、site_url列を選択するには:

LCase(rsFav("site_url")
于 2012-04-25T09:39:49.977 に答える