webForumDet fria alternativet

dynamisk array

ASP

12 svar · 403 visningar · startad av CatZ

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

Hur ska jag bära mig åt för att tilldela följande värden dynamiskt?

arrLank = Array("<a href=kalender_stor.asp?id=" & iId & ">" & iTitel & "</a>")

Alltså för varje iId och iTitel som finns i databasen ska det skrivas till arrayen.... hur gör man ?

Medlem sedan dec. 200012 464 inlägg
#2

Man använder metoden getrows

set rs = connect.execute(query)
if not rs.eof then
   arr = rs.getrows()
'
end if

Då får du en två-dimensionell array med alla poster som returneras från selectfrågan.

Medlem sedan juni 200032 967 inlägg
#3

Du kan också använda en vanlig array, som du dynamiskt ökar storleken på i din loop. Exempel:

dim varArray(0)
intCounter=0
while not rs.eof
     intCounter = intCounter + 1
     Redim Preserve varArray(uBound(varArray)+1)
     varArray (i) = rs("fältet")
     rs.movenext
wend

När du sedan loopar ut din array, kan du börja på index 1, eftersom ovanstående kod lämnar första platsen tom.

Mvh,

Medlem sedan jan. 20022 440 inlägg
#4

Ska testa båda förslagen några gånger för att lära mig ;) tack men LarsG hur skriver jag sedan ut informationen då ?

Medlem sedan dec. 200012 464 inlägg
#5
rezponze.write arr(0,0) 'första kolumnen i första raden
rezponze.write arr(1,1) 'andra kolumnen i andra raden
Medlem sedan feb. 20012 412 inlägg
#6

rezponze.write

Är rezponze ett nytt objekt för senaste skriptmotorn :q §e

Medlem sedan jan. 20022 440 inlägg
#7

Aha, så du menar att jag ska plocka ut första och sista posten med LBound och UBound och sedan göra en loop på det då typ

Dim strSQL
	strSQL = " SELECT *"_
	& " FROM Kalender"
	set rs = dbcom.Execute(strSQL)
			
Dim arrLank, iFirstRec, iSistRec, iFirstFalt, iSistFalt
	If Not rs.EOF Then
		arrLank = rs.getrows()
		iFirstRec = LBound(arrLank, 2)
		iSistRec = UBound(arrLank, 2)
		iFirstFalt = LBound(arrLank, 1)
		iSistFalt = UBound(arrLank, 1)
	End If

For I = iFirstRec To iSistRec
	response.write "<br>"
	For J = iFirstFalt To iSistFalt
		Response.Write arrLank(J, I) & vbcr
	Next
	response.write "<br>"
Next

Då ska vi se om jag lyckas plocka ut bara de delar jag behöver i min söta lilla loop ;)

Medlem sedan jan. 20022 440 inlägg
#8

Det fungerar inte riktigt som det ska x( @nders? hur menar du med skriva ut så kan jag starta på 1 ?

Medlem sedan juni 200032 967 inlägg
#9
for i = 1 to ubound(varArray)
    response.write varArray(i)
next

Någonting sånt.

Medlem sedan jan. 20022 440 inlägg
#10

grmbl jag har alltid varit värdelös på matte och formler :x

Medlem sedan jan. 20022 440 inlägg
#11

Feltyp:
Körningsfel i Microsoft VBScript (0x800A000A)
Matrisen är fast eller tillfälligt låst.
/TMPfo0bq1rj2k.asp, line 77

Medlem sedan juni 200032 967 inlägg
#12

Kod?

Medlem sedan jan. 20022 440 inlägg
#13

Alla mina problem härrör från att jag skrivit order by fel fältnamn Så nu ska jag nog inte ha några problem §e

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