saturdayMedlem sedan jan. 2007191 inlägg
Hej igen. :)
Ett nytt problem har smygit sig på när jag försöker loopa ut data från min databas in i en array, får följande fel:
"Type mismatch: 'gameArr'" på raden "gameArr(i) = RS("sku")" nedan
Koden ser ut så här:
'Get start sku's
i = 1
sqlStr = "SELECT * FROM game WHERE platform = 'start' ORDER BY Id"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DSN=minDsn"
Set RS = conn.Execute(sqlStr)
Do until RS.EOF
gameArr(i) = RS("sku")
i = i + 1
RS.MoveNext
Loop
RS.Close
Set RS = Nothing
conn.Close
Set conn = Nothing
Jag vill att resultatet ska bli så här(Exempel):
gameArr(1) = 564354
gameArr(2) = 763567
gameArr(3) = 124566
osv...
Ps. Har sökt runt i forumet men hittade inget som prickade mitt problem.
colioneMedlem sedan juni 20013 386 inlägg
Du lär få köra en ReDim Preserve.
ReDim Preserve gameArr(i) = RS("sku")
Men om du vill ha ut det som en array vore getrows bättre.
http://www.pellesoft.se/area/articles/article.aspx?artid=753
http://www.w3schools.com/ado/met_rs_getrows.asp
Finns även en hel del resultat på getrows här på wF.
saturdayMedlem sedan jan. 2007191 inlägg
Ok, fick följande fel nu:
Expected end of statement
/~test0123456789~/index.asp, line 100
ReDim Preserve gameArr(i) = RS("sku")
--------------------------^
Ska kolla vidare på GetRows.
colioneMedlem sedan juni 20013 386 inlägg
Förlåt.
ReDim Preserve gameArr(i)
gameArr(i) = RS("sku")
Ska det nog vara. Dock är det långt ifrån optimalt då det tar mycket prestande. Alltså dumt i en loop.
saturdayMedlem sedan jan. 2007191 inlägg
Det är frågan om 6 poster som ska ut i loopen, så jag tror inte det blir väldigt segt, men ska ändå kolla vidare på GetRows.
@ndersMedlem sedan juni 200026 914 inlägg
Är det alltid sex poster? Då kan du ju deklarera din array med rätt storlek från början så slipper du hålla på med redim.
Edit: Har EB Games äntligen fått upp en webbplats??? Otroligt! Finns en hel del kvar att göra - men nu kan man åtminstone se att ni finns...
saturdayMedlem sedan jan. 2007191 inlägg
@nders skrev:
Är det alltid sex poster? Då kan du ju deklarera din array med rätt storlek från början så slipper du hålla på med redim.
Edit: Har EB Games äntligen fått upp en webbplats??? Otroligt! Finns en hel del kvar att göra - men nu kan man åtminstone se att ni finns...
Hehe, ja, det är den jag jobbar med för fullt. Det finns mycket kvar att göra. Det jag gör nu är att göra om den från hårdkodning till en lite mer dynamisk historia med en databas i bakgrunden i stället så att jag får mer tid till annan utveckling. Byggde allt i HTML först då det var bråttom med hemsidan när jag började här, vilket jag gjorde i mitten på april.
Allt tar sin tid.
voigtann1Medlem sedan juni 20018 810 inlägg
i skall väl ändå börja på 0 om du ska fylla arrayn på rätt sätt ;)
voigtann1Medlem sedan juni 20018 810 inlägg
'Get start sku's
sqlStr = "SELECT [b]sku[/b] FROM game WHERE platform = 'start' ORDER BY Id"
Set conn = Server.CreateObject("ADODB.Connection")
conn.open "DSN=minDsn"
Set RS = conn.Execute(sqlStr)
[b]gameArr = RS.GetRows()[/b]
RS.Close
[b]
'For i = 0 To UBound(gameArr,2)
' gameArr(0,i)
'Next
[/b]
Set RS = Nothing
conn.Close
Set conn = Nothing
Om du hellre vill använda GetRows..... länge sen jag gjorde något med GetRows...
(0 i gameArr är sku ifrån databasen...)