webForumDet fria alternativet

hoppas över poster i for/next loop

ASP

5 svar · 368 visningar · startad av Eclipse

Medlem sedan juli 20003 825 inlägg
Frågan#1

Om jag har en FOR / NEXT LOOP och sen bara ska hoppa över alla poster som har 0 i ett visst fält (COUNT(*) )... hur skriver jag då!?

Lätt som en plätt för den som vet... men jag vet inte vad jag ska söka på!

Medlem sedan sep. 2006867 inlägg
#2

Hej!

Du kan lägga till en if-sats som kollar om du fått värdet 0

for i = 1 to length
 if RS("summa") = 0 Then
  ' Gör inget
 else
  ' Gör något
 end
next

Men antagligen skulle det vara smartare att utforma din SQL-fråga så att du utesluter alla resultat med COUNT 0

Medlem sedan juli 20003 825 inlägg
#3

Nej... jag vet inte hur jag ska förklara...

I så fall, liknande:

	SQL = "SELECT t.intID, t.strName, t.dteCreated, t.strLocation, t.strPlaytime, t.strURL, t.strMap " _
	& ", (SELECT COUNT(*) FROM images i WHERE i.bolView = TRUE AND i.intTourguideID = t.intID ) " _
	& ", (SELECT COUNT(*) FROM images i WHERE i.bolView = TRUE AND i.intTourguideID = t.intID ) " _
	& " FROM tourguide t WHERE t.bolView = TRUE AND t.dteCreated <= #" & date() & "# " _
	& " ORDER BY t.dteCreated DESC;"

Nedan kod:

IF myRow(7,j) = 0 THEN .... ge f*n i denna loop och ge dig i kast med nästa post

Ja... nåt åt det hållet, fast inte fullt så vulgärt och mer på engelska! :-)

Medlem sedan juli 20003 825 inlägg
#4

Men antagligen skulle det vara smartare att utforma din SQL-fråga så att du utesluter alla resultat med COUNT 0

Ja, ja... det är bara jag som är lite slö...

Medlem sedan dec. 20025 483 inlägg
#5
for j = 0 to C
 if myRow[7,j] <> 0 then
  ...
 end if
next

Någon 'continue' finns inte i VBScript.

Medlem sedan juli 20003 825 inlägg
#6
	SQL = "SELECT t.intID, t.strName, t.dteCreated, t.strLocation, t.strPlaytime, t.strURL, t.strMap " _
	& ", (SELECT COUNT(*) FROM images i WHERE i.bolView = TRUE AND i.intTourguideID = t.intID ) " _
	& ", (SELECT COUNT(*) FROM images i WHERE i.bolView = TRUE AND i.intTourguideID = t.intID ) " _
	& " FROM tourguide t WHERE " _
	& " (SELECT COUNT(*) FROM images i WHERE i.bolView = TRUE AND i.intTourguideID = t.intID ) > 0 AND " _
	& " t.bolView = TRUE AND t.dteCreated <= #" & date() & "# " _
	& " ORDER BY t.dteCreated DESC;"

Ja, ja... det blir grymt mycket kod, men du får cred för det... Man är lite slö av naturen, det är ju webbprogrammerarens oskrivna lag! :-)

258 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
133 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)