---
title: "array fungerar inte"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/163688-array-fungerar-inte"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "eriks"
published: "2007-08-21T15:24:41.000Z"
updated: "2007-08-21T16:25:38.000Z"
replies: 7
views: 591
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/163688-array-fungerar-inte"
---

# array fungerar inte

## #1 — eriks, 2007-08-21T15:24Z

Hejhej,

Jag sitter med en array som jag inte får att fungera. Jag har testat att skriva ut SQL-satsen samt det första recodsetet så jag vet att jag verkligen får ett värde på EUser. Ändå får jag felmeddelandet "Subscript out of range" på raden där Response.Write ligger. Jag börjar fundera om arrayen på något sätt kan ha blivit multidimensionell, kan jag kontrollera det på något vis? Eller vad kan annars vara fel?

```
SQL2 = "SELECT EUser FROM EInfo WHERE ERate = 1 order by EUser"
Set RS2 = Connection.Execute(SQL2)

Dim arrRusers
If Not RS2.EOF Then
arrRusers = RS2.getrows()
End If
Response.Write arrRusers(0)
```

Tack på förhand!

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

## #2 — Denkan, 2007-08-21T15:31Z

Du får ut en två-dimensionell array/vektor från GetRows().
Prova: 

```
Response.Write arrRusers(0,0)
```

Tips är också att alltid kontrollera att GetRows() har returnerat något.
Jag brukar använda 

```
If IsArray(arrRusers) Then
   ' Returnerade rader
Else
   ' Returnerade inget
End If
```

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

## #3 — eriks, 2007-08-21T15:33Z

Tack! Jag har provat det ena och det andra, vet inte varför jag inte ens provade detta... Men varför blir det en 2d? Ett index och mitt RS?

Mvh Erik

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

## #4 — Denkan, 2007-08-21T15:40Z

Första parametern är kolumnens position i SELECT-satsen, andra parametern är raden.
T.ex

```
Set rs = Conn.Execute("SELECT UserID,FirstName,LastName FROM Users")
Dim arrUsers 
arrUsers = rs.GetRows()
rs.Close
Set rs = Nothing

Response.Write arrUsers(1,0) & " " & arrUsers(2,0)  ' Namnet på första raden
Response.Write arrUsers(0,3) ' UserID på fjärde raden
```

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

## #5 — eriks, 2007-08-21T15:46Z

Ok, eftersom jag bara hade ett värde förutsatte jag att den automatiskt blev endimensionell. Men då blir den alltså tvådimensionell med endast en kolumn?

Eller tänker jag helt galet nu? Kunde inte min array "lika gärna" varit endimensionell?

Mvh Erik

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

## #6 — Troxy, 2007-08-21T15:56Z

Det hade varit helgalet om den automatiskt blivit endimensionell, eftersom man då behöver skriva om ASP-koden om SQL-frågan returnerar fler än 1 rad.

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

## #7 — Denkan, 2007-08-21T15:56Z

Det stämmer, den blir alltid tvådimensionell.

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

## #8 — eriks, 2007-08-21T16:25Z

> **Troxy skrev:**
>
> Det hade varit helgalet om den automatiskt blivit endimensionell, eftersom man då behöver skriva om ASP-koden om SQL-frågan returnerar fler än 1 rad.

Ok, då har jag nog inte riktigt förstått vad en endim är. Trodde att om jag fick ut 10 olika usernames, så var det en endim variabel, eftersom jag bara har en variabel (username). Jag orkar inte tänka på detta nu, för jag har iaf förstått hur tvådim fungerar :)

Tack!

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/163688-array-fungerar-inte
