webForumDet fria alternativet

Går inte att hämta värde?

Databaser & SQL

4 svar · 251 visningar · startad av jimpa

Medlem sedan jan. 2001361 inlägg
Frågan#1

Hej,
När jag med Response.Write skriver ut min sql ser det ut såhär:

SELECT fTopics.TopicsID, fTopics.ttForumID, fTopics.ttMemberID,
 fTopics.ttParentID, fTopics.ttDte, fTopics.ttSubject, fTopics.ttMessage,
 Members.MemberID, Members.mNickName, Forums.ForumID,
 Forums.fName, fCategories.CatID, fCategories.cName 
FROM (((fTopics 
LEFT JOIN Members ON Members.MemberID = fTopics.ttMemberID) 
LEFT JOIN Forums ON Forums.ForumID = fTopics.ttForumID) 
LEFT JOIN fCategories ON Forums.fCatID = fCategories.CatID) 
WHERE ( (fTopics.ttSubject LIKE '%test%' OR fTopics.ttMessage 
LIKE '%test%') AND fTopics.ttParentID = CLng(0) 
OR fTopics.TopicsID IN 
(Select TopicsID From fTopics where ttMessage LIKE '%test%' and ttParentID > 0) 
OR [b]fTopics.TopicsID IN 
(Select Count(TopicsID) as cntReply From fTopics where ttParentID > 0) [/b]) 
ORDER BY fTopics.ttDte DESC

I fetmarkerade select-satsen i koden ovan vill jag få fram antal svar i en tråd för.
Koden ovan ger inga felmeddelanden utan problemet är hur jag hämtar värdet? Övriga värden hämtar jag så här och lägger i en array:
.....
arrRecs = RS.GetRows()
for i = 0 to ubound(arrRecs,2)
....

sedan skriver jag ut som vanligt med

arrRecs(0,i)
arrRecs(1,i)
arrRecs(2,i)
osv..
då skulle ju antal svar (cntReply) hämtas som fältnr. 14 alltså "arrRecs(14,i)" eller!? tänker jag fel?
Hur som helst så får jag felmeddelandet
..
Subscript out of range: '[number: 14]'
..
Har även provat så här:
...
cntReply = arrRecs(cntReply,i)
...
Då får jag ett värde, men värdet stämmer inte alls med antal svar , värdet jag får fram är mycket högre?

Någon som kan se vad jag gör för fel?

/Jimpa

Medlem sedan mars 20015 287 inlägg
#2

Utan at egentligen veta tror jag inte du egentligen hämtar värdet till ditt rs.
Måste inte själva hämtningen ske i den "första" selecten?

Medlem sedan juni 200032 967 inlägg
#3

solbulle tänker rätt. Den selectfrågan är bara del av din where-klausul, och har inget att göra med vilka fält som hämtas. Du får flytta din delfråga så den ligger ihop med SELECT-delen precis i början av frågan.

Mvh

Medlem sedan dec. 200012 464 inlägg
#4

Flyttas från ASP

Medlem sedan jan. 2001361 inlägg
#5

Ok.
Tack!

265 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
131 ms — ändringar (db)