webForumDet fria alternativet
Logga in / Bli medlem

stoppa loop

ASP

16 svar · 347 visningar · startad av Rinaldo

Medlem sedan mars 20014 214 inlägg
Trådstart#1

Jag sökte efter detta men det fanns miljoner svar så jag orkade inte leta så kna någon hjälpa mig.

Jag har en meny som visar poster i en databas. För att menyn inte ska bli för lång vill jag dock att den ska sluta loopa när den har nått fem.

Hur gör man detta enklast?

Medlem sedan dec. 19998 577 inlägg
#2

Beror på vad du har för loop... har du en For-loop kan du göra såhär:

If i = 5 Then Exit For

Medlem sedan maj 20011 312 inlägg
#3

Sätt in en for-loop

for antal = 1 To 5

 din kod db-kod

next
Medlem sedan mars 20014 214 inlägg
#4

Så här ser min kod ut

<% Do While Not Record.EOF %>
» <% Response.Write Record("Kortnamn")%>
<%Record.MoveNext Loop%>
Medlem sedan maj 20011 312 inlägg
#5

Kan du inte skriva sql frågan att du tar de fem översta istället?

Select * Top 5 FROM tabell blabla

Medlem sedan mars 20014 214 inlägg
#6

Det funkade inte då ett syntax fel inträffade.

Medlem sedan dec. 19998 577 inlägg
#7

Select Top 5 * FROM tabell blabla

Medlem sedan mars 20014 214 inlägg
#8

Det funkar inte heller. Kolla på koden och jag är tacksam för hel kod.


<%
Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("db/db.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath

Sql = "SELECT * FROM nyheter ORDER BY Datum DESC"
Set Record =  Con.Execute(Sql)
%>

<% Do While Not Record.EOF %>
» <b><% Response.Write Record("Kortnamn") %></b><br>&nbsp; <i>(<% Response.Write Record("Datum") %> )</i><br>
<%
Record.MoveNext 
Loop 
%>
Medlem sedan mars 20002 836 inlägg
#9
Sql = "SELECT TOP 5, * FROM nyheter ORDER BY Datum DESC"

cya,
PatrikB

Medlem sedan maj 20011 312 inlägg
#10

Varför har du komma med i SQL frågan...har aldrig sett det vad innebär det eller var det en miss av dig bara?

Medlem sedan dec. 19998 577 inlägg
#11

komma används för att separera fält som man vill ha med i SQL-satsen.

Medlem sedan mars 20007 896 inlägg
#12

PatrikB gör inga missar :e

Medlem sedan mars 20014 214 inlägg
#13

Antingen är min dator konstig eller så sätter jag in saker på fel ställe. Var ska denna sats som ni visar vara?

Medlem sedan juni 200032 967 inlägg
#14

Varför har du komma med i SQL frågan...har aldrig sett det vad innebär det eller var det en miss av dig bara?

jag vill också veta!

Medlem sedan dec. 19998 577 inlägg
#15

Nu börjar jag också undra... :e

Medlem sedan mars 20014 214 inlägg
#16

Kanske frågan kom in på fel spår men jag vill fortfarande veta hur man gör.:e

Ni ser hela min kod över någosntans...

Medlem sedan mars 20002 836 inlägg
#17

Rinaldo:

<%
Set Con = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("db/db.mdb")
Con.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath

Sql = "SELECT [b]TOP 5,[/b] * FROM nyheter ORDER BY Datum DESC"
Set Record = Con.Execute(Sql)
%>

<% Do While Not Record.EOF %>
» <b><% Response.Write Record("Kortnamn") %></b><br>  <i>(<% Response.Write Record("Datum") %> )</i><br>
<%
Record.MoveNext 
Loop 
%>

Det att jag stoppar in ett komma mellan tex top 5, * är att jag en ggn i tiden hade problem med att hämta top värden från en Access db när man hade * med i SQL frågan.
Testade med ett komma där och vips inte ett problem med top längre. Vet att det inte e SQL std, men va fasen, en gör så gott en kan ;o

cya,
PatrikB

252 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)