webForumDet fria alternativet

Sista raden i databasen?

ASP

10 svar · 277 visningar · startad av Gein

Medlem sedan sep. 20005 700 inlägg
Frågan#1

Kan jag få veta när den läser det sista raden i en databas?
jag har ju en kod som går igenom alla rader.
Do until RecSet.EOF
...
Loop
och så skulle jag vilja veta när den läser den sista raden.. går det på nåt sätt?

------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net

Medlem sedan dec. 200012 464 inlägg
#2

Om du använder getrows och läser in posterna i en array så går det enkelt

set rs = connect.execute(sql)
if  not rs.eof then
    arr = rs.getrows()
    for i = 0 to ubound(arr,2)
        if  i = ubound(arr,2) then
'detta är sista raden i resultatet
        end if
    next
end if

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 20005 700 inlägg
#3

vad jag förstår så går den där igenom alla på en gång, och "letar" efter den sista.. så vill jag inte ha det..

jag kör ju igenom alla rader var för sej, hämtar information och duttar o så.. sen när den e på sista då ska den hojta till!

------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net

Medlem sedan dec. 19998 577 inlägg
#4

Då är det ju bara att lägga in den koden som skall köras LarsGs exempel.

------------------
Jag utvecklar invecklade veck, totalt väck

Medlem sedan sep. 20005 700 inlägg
#5

nej, det går inte! om jag lägger in koden som LarsG skrev så får jag följande felmeddelande:

Antingen är BOF eller EOF satt till True, eller så har aktuell post raderats. Den begärda åtgärden kräver en aktuell post.

och det felet får jag på raden
RecSet.Movenext

då är det ju som koden jag fick av LarsG gör att den går till sista raden, och sen när den kör RecSet.movenext så finns det ju inget mer fält

------------------
"When there's no more room in hell,
the dead will walk the earth."
--------------------- http://shortenings.cjb.net

[Redigerat av puzze den 22 sep 2001]

Medlem sedan dec. 200012 464 inlägg
#6

prexis

set rs = connect.execute(sql)
if not rs.eof then
arr = rs.getrows()
for i = 0 to ubound(arr,2)
if i = ubound(arr,2) then
'hojta att detta är sista raden
end if
'dutta med raderna som vanligt
next
end if

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 20005 700 inlägg
#7

jaa, nu hajjar jag! sorry, jag e seg

------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net

Medlem sedan dec. 200012 464 inlägg
#8

När du väl har läst in raderna till arrayen med getrows så behöver du inte recordsetet mer då allt data finns i arrayen.

------------------
essentitia preter non sans multiplicandum

Medlem sedan sep. 20005 700 inlägg
#9

hur hämtar jag ut data ur arrayen då?

------------------
"When there's no more room in hell,
the dead will walk the earth."
---------------------
http://shortenings.cjb.net

Medlem sedan feb. 20012 412 inlägg
#10

Hej!

Lägg till detta inne i for-slingan. Ändra varde1, varde2 till de variabelnamn du vill ha.

varde1 = arrMin(0,I)
varde2 = arrMin(1,I)

0 är alltid första fältet i SQL-frågan, sedan ökar de med 1 hela tiden.

Response.write " "& varde1 &" "

mvh Jörgen

------------------
"Ett väl utfört arbete ger en inre tillfredsställelse och är den grund varpå samhället vilar."

Medlem sedan dec. 200012 464 inlägg
#11
set rs = connect.execute(sql)
if not rs.eof then
arr = rs.getrows()
for i = 0 to ubound(arr,2)
if i = ubound(arr,2) then
'hojta att detta är sista raden
end if
'dutta med raderna som vanligt
response.write arr(0,i) 'första kolumnen
response.write arr(1,i) 'andra kolumnen
next
end if

eller om man vill loopa över alla kolumner

set rs = connect.execute(sql)
if not rs.eof then
arr = rs.getrows()
for i = 0 to ubound(arr,2)
if i = ubound(arr,2) then
'hojta att detta är sista raden
end if
'dutta med raderna som vanligt
for j = 0 to ubound(arr,1)
response.write arr(j,i) & " "
next
next
end if

------------------
essentitia preter non sans multiplicandum

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