---
title: "Från MySql recordset till VBScript array"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/163023-från-mysql-recordset-till-vbscript-array"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "saturday"
published: "2007-07-30T09:14:52.000Z"
updated: "2007-07-30T14:40:36.000Z"
replies: 8
views: 820
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/163023-från-mysql-recordset-till-vbscript-array"
---

# Från MySql recordset till VBScript array

## #1 — saturday, 2007-07-30T09:14Z

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.

Permalänk: https://www.webforum.nu/p/163023

## #2 — colione, 2007-07-30T09:20Z

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.

Permalänk: https://www.webforum.nu/p/2010307

## #3 — saturday, 2007-07-30T09:24Z

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.

Permalänk: https://www.webforum.nu/p/2010309

## #4 — colione, 2007-07-30T09:26Z

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.

Permalänk: https://www.webforum.nu/p/2010313

## #5 — saturday, 2007-07-30T09:28Z

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.

Permalänk: https://www.webforum.nu/p/2010314

## #6 — @nders, 2007-07-30T10:04Z

Ä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...

Permalänk: https://www.webforum.nu/p/2010320

## #7 — saturday, 2007-07-30T14:27Z

> **@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.

Permalänk: https://www.webforum.nu/p/2010391

## #8 — voigtann1, 2007-07-30T14:37Z

i skall väl ändå börja på 0 om du ska fylla arrayn på rätt sätt ;)

Permalänk: https://www.webforum.nu/p/2010394

## #9 — voigtann1, 2007-07-30T14:40Z

```
'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...)

Permalänk: https://www.webforum.nu/p/2010396

---

Tråden på webben: https://www.webforum.nu/amne/asp/163023-från-mysql-recordset-till-vbscript-array
