saturdayMedlem sedan jan. 2007133 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 20014 421 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. 2007133 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 20014 421 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. 2007133 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 200032 969 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. 2007133 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.
i skall väl ändå börja på 0 om du ska fylla arrayn på rätt sätt ;)
'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...)