eriksMedlem sedan apr. 20011 418 inlägg 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!
DenkanMedlem sedan juni 2002256 inlägg 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
eriksMedlem sedan apr. 20011 418 inlägg 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
DenkanMedlem sedan juni 2002256 inlägg 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
eriksMedlem sedan apr. 20011 418 inlägg 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
TroxyMedlem sedan mars 20041 505 inlägg 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.
DenkanMedlem sedan juni 2002256 inlägg Det stämmer, den blir alltid tvådimensionell.
eriksMedlem sedan apr. 20011 418 inlägg
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!