---
title: "getRows()"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/9798-getrows"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "Eclipse"
published: "2001-05-30T18:03:00.000Z"
updated: "2001-05-31T17:33:00.000Z"
replies: 22
views: 285
page: 1
pages: 2
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/9798-getrows"
---

# getRows()

_Sida 1 av 2._

## #1 — Eclipse, 2001-05-30T18:03Z

Jag har ett databasanrop som jag lägger som en session i en getRows(). Det lustiga i sammanhanget är att om jag gör det på en annan sida då får jag ett felmeddelande, men inte om jag skapar och använder sessionen på samma sida!

\*\*\*
Microsoft VBScript runtime  error '800a0009'

Subscript out of range: 'j'

/admin/agenda/getrows.asp, line 34

\*\*\*
34\. IF CInt(request("ID")) = antal(1, j)  THEN
35\. -- response.write "\<B\>" & antal(9, j) & "\</B\> "
36\. ELSE
37\. -- response.write "\<A HREF=""getrows.asp?ID=" & antal(1, j) & """\>" & antal(9, j)  & "\</A\>"
38\. END IF

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

## #2 — PatrikB, 2001-05-30T22:46Z

Finns inget värde på platsen j i arrayen.

Hur får du fram det värdet, j alltså?

cya,
PatrikB

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

## #3 — Eclipse, 2001-05-31T07:02Z

Jag vet inte hur det fungerar, bara **att** det fungerar... Jag vet inte hur 'j' funkar. Det enda jag vet är att om jag skapar sessionen i samma fil så får jag inget felmeddelande, medans om jag skapar sessionen när man loggar in så får man ett felmeddelande!

Nedan koden i sin helhet.

```
' ## LIST ADMIN USERS
SQL = "SELECT * FROM [agenda_users] LEFT JOIN [users] ON agenda_users.x_userID = users.x_ID" _
& " WHERE agenda_users.x_view = TRUE ORDER BY agenda_users.x_sortfield;"
set mySQL = Conn.Execute(SQL)
on error resume next

session("listAdminUsers") = mySQL.GetRows()

antal = session("listAdminUsers")

for j = 0 to UBound(antal, 1)
	IF CInt(request("ID")) = antal(1, j)  THEN
		response.write "<B>" & antal(9, j) & "</B> "
	ELSE
		response.write "<A HREF=""getrows.asp?ID=" & antal(1, j) & """>" & antal(9, j)  & "</A>"
	END IF
	response.write "2:" & antal(2, j) & " "
	response.write "3:" & antal(3, j) & " "
	response.write "4:" & antal(4, j) & " "
	response.write "5:" & antal(5, j) & " "
	response.write "6:" & antal(6, j) & " "
	response.write "7:" & antal(7, j) & " "
	response.write "8:" & antal(8, j) & "<BR>"
	response.write "9:" & antal(9, j) & " "
	response.write "10:" & antal(10, j) & " "
	response.write "11:" & antal(11, j) & " "
	response.write "12:" & antal(12, j) & " "
	response.write "13:" & antal(13, j) & " "
	response.write "14:" & antal(14, j) & " "
	response.write "15:" & antal(15, j) & " "
	response.write "16:" & antal(16, j) & " "
	response.write "17:" & antal(17, j) & " "
	response.write "18:" & antal(18, j) & "<BR>"
NEXT
```

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

## #4 — PatrikB, 2001-05-31T07:23Z

Hello,

testa att ändra denna raden:

```
for j = 0 to UBound(antal, 1)
```

till

```
for j = 0 to UBound(antal, 2)
```

cya,
PatrikB

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

## #5 — Eclipse, 2001-05-31T08:08Z

Läckert Patric! kan vi reda ut detta då? Varför ska det vara en tvåa i stället för en etta?

Manualen säger...
UBound(arrayname\[, dimension\])

och kod inom hakar brukar vara frivilliga, men inte i detta fallet.

"dimension -- Optional. Whole number indicating which dimension's upper bound is returned. Use 1 for the first dimension, 2 for the second, and so on. If dimension is omitted, 1 is assumed."

Betyder detta att man gräver i andra dimmensionen hela tiden? Var tog den första vägen!?

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

## #6 — Vide, 2001-05-31T08:22Z

Default är en(1) dimension, har du fler så måste du ange vilken dimension du menar...

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

## #7 — Eclipse, 2001-05-31T08:29Z

OK, jag fattar inte. Men det kan man kanske leva med, bara det fungerar!

Ska jag modifiera SQL frågan för att få fler än två dimmensioner? Jag har en svag känsla av att det är var jag behöver för att få fart på almanackan.

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

## #8 — PatrikB, 2001-05-31T09:06Z

vad menar du med att få fart på almanackan?

Det är inte så att du har nestlade recordset i almanackan?
Det SLÖAR ned almanackan rejält.

cya,
PatrikB

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

## #9 — PatrikB, 2001-05-31T09:22Z

reda ut saker och ting.....

det är så att .GetRows() metoden alltid hämtar recordsetet och skapar en 2-dimensionell array. Alla fält-värdena som angavs i sql uttrycket ligger i den 2:a dimensionen

ex:
array(i,j)
 i = första dimensionen
 j = andra dimensionen

om du har detta sql uttryck:
strSQL = "SELECT FLD_ID, FLD_NAMN, FLD_EMAIL FROM TBL_MEDLEMMAR"

och hämtar det med .GetRows()
så kommer arrayen att se ut så här om endast 2 records hittades:

Array(0,0) // FLD_ID,1
Array(1,0) // FLD_NAMN,Patrik
Array(2,0) // FLD_EMAIL,mrwize@mrwize.nu
Array(0,1) // FLD_ID,1
Array(1,1) // FLD_NAMN,Eclipse
Array(2,1) // FLD_EMAIL,jakob@olailindgren.se

Hoppas att du förstår det lite bättre nu ... fast jag håller med, det e lite abstrakt detta med fler dimensionerade arrays ;o

cya,
PatrikB

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

## #10 — Vide, 2001-05-31T09:32Z

<http://www.webeye.nu/default2.asp?que=asp/default.asp&exec=asp/artiklar/asp_12.asp#dimensioner>

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

## #11 — Eclipse, 2001-05-31T11:17Z

Det är inte så att du har nestlade recordset i almanackan?
Det SLÖAR ned almanackan rejält.

\- Jo, så illa är det! Men det är ingen fara på vår lokala server. Däremot är vår internetleverantörs dator inte lika snabb så allt blir seeeegt som kola.

Vide \>\>
Den sidan var ju sketabra! Den har jag aldrig sett att du länkat till i något inlägg!

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

## #12 — Eclipse, 2001-05-31T11:22Z

<http://www.olailindgren.se/jakob/agenda.gif> 
\- den riktigt kluriga biten.
 <http://www.olailindgren.se/jakob/agenda-2.gif> 
\- agendan i sin helhet.

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

## #13 — PatrikB, 2001-05-31T11:24Z

kan du inte fixa det med ngn join av ngt slag? så att du slipper att nestla recordseten?

Vi byggde en almanacka åt en kunds intranet med just nestlade recset ... insåg ganska snabbt att det inte gick då det skapades en jäkla massa recordset dynamiskt så att säga.
Vi gjorde så att vi hämtade ut 2 sql-frågor med getRows() och sedan loopade vi arrayerna och jämförde. Snabbade upp ngt helt otroligt :p

Vide\>\>\>
Den artikeln fick en 5:a

cya,
PatrikB

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

## #14 — @nders, 2001-05-31T11:24Z

Den sidan var ju sketabra!

ja, vides artiklar brukar ju vara bra. speciellt de två sista, eftersom jag omnämns i dem. :)

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

## #15 — Vide, 2001-05-31T11:57Z

> Den sidan var ju sketabra! Den har jag aldrig sett att du länkat till i något inlägg!

Tackar så mycket... det är min senaste artikel, den är nästan släppt... så den kommer snart till wA... :)

> Den artikeln fick en 5:a

Tack :r

> ja, vides artiklar brukar ju vara bra. speciellt de två sista, eftersom jag omnämns i dem

Självklart är du med, du smickrar ju mig med citat som: ey, du norrländske kung av .net :e

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

## #16 — Eclipse, 2001-05-31T12:02Z

<http://www.olailindgren.se/admin/agenda/getrows.asp> 
Här är vänstermenyn till agendan.

Det har inte varit så mycket snack om getRows, inte vad jag sett. Alla borde använda det oftare för det besparar webbplatsen en del arbete.

Efter dagens övningar kan jag bara konstatera att jag mäsker ingen skillnad. Webbplatsen känns fortfarande omotiverat långsam. Men jag kan ju alltid börja med att uppgradera hela webbverktyget till getRows varianten.

Kanske saker klarnar vad det lider!

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

## #17 — Eclipse, 2001-05-31T12:08Z

Vide \>\>
Jaha, den var helt ny!? Jag förstår... Rent spontant gav jag den en femma... men det höjde bara medelvärdet från 4.2 till 4.3. Jag brukar aldrig rösta på artiklar.

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

## #18 — Vide, 2001-05-31T12:13Z

Jupp, någon vecka gammal. Den skulle egentligen handla om små "Tips & Trix" och jag började med arrayer... men sedan blev det så mycket om just arrayer så jag fick skapa en helt egen artikel om arrayer... :)

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

## #19 — Eclipse, 2001-05-31T13:21Z

> Vi byggde en almanacka åt en kunds intranet med just nestlade recset ... insåg ganska snabbt att det inte gick då det skapades en jäkla massa recordset dynamiskt så att säga.
> Vi gjorde så att vi hämtade ut 2 sql-frågor med getRows() och sedan loopade vi arrayerna och jämförde. Snabbade upp ngt helt otroligt

Hur skriver man då?

SQL1 = "...."
SQL2 = "...."

Kan man få lite ledtrådar? Jag vet inte ens åt vilket håll jag ska titta!

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

## #20 — PatrikB, 2001-05-31T15:33Z

Vi ville ha en tabell som såg ut så här ungefär:

```
/---------------------------------------\
&#0124;Januari, 2001				&#0124;
&#0124;---------------------------------------&#0124;
&#0124;Dag&#0124;Anteckning				&#0124;
&#0124;---------------------------------------&#0124;
&#0124;  1&#0124;SKicka post			&#0124;
&#0124;   &#0124;Möte med Thomas			&#0124;
&#0124;---&#0124;-----------------------------------&#0124;
&#0124;  2&#0124;Projekt x ska vara lev. klart	&#0124;
&#0124;---------------------------------------&#0124;
```

etc.

Delar av koden som jag använde ... om jag minns rätt \*ler\*, va ett tag sedan jag gjorde om den:

```
'## -- Function: getDaysInMonth(ByVal ThisMonth) ' As Integer
'## -- Description: Hur många dagar finns det i aktuell månad
'##
Function getDaysInMonth(ByVal ThisMonth)

	Select Case ThisMonth
		Case 1,3,5,7,8,10,12
			getDaysInMonth = 31
			Exit Function

		Case 2
			If IsDate("February 29, " & Year(Now())) Then
				getDaysInMonth = 29
				Exit Function
			Else
				getDaysInMonth = 28
				Exit Function
			End If

		Case 4,6,9,11
			getDaysInMonth
			Exit Function
	End Select
End Function

'====================================================================
Dim objConn, objRS
Dim strSQL, strNote
Dim dteDate, dteMonth, dteYearMonth, dteDays, dteNote
Dim arrEmpNotes

dteDate = Date()
dteMonth = Month(dteDate)
dteYearMonth = Year(dteDate) & "-" & dteMonth

................

'## -- en massa connection grunka --
Set objConn .....
	objConn.Open ....

strSQL = "SELECT * FROM .........

Set objRS = objConn.Execute(strSQL)

	If Not objRS.EOF
		arrEmpNotes = objRS.GetRows()
	End If

	objRS.Close
Set objRS = Nothing

'## -- hur många loopar ska göras --
dteDays = getDaysInMonth(dteMonth)

'## -- börja loopa dag för dag --
For I = 1 To dteDays
	Response.Write "<TR><TD>" & i & "</TD><TD>"
	'## -- loopa igenom arrayen och kolla om matchande datum finns --
	For n = 0 To UBound(arrEmpNotes,2)
		strNote = arrEmpNote(0,n)
		dteNote = arrEmpNote(1,n) '## -- ett datum fält, format: yyyy-mm-dd(2001-05-25)
		If CDate(dteNote) = CDate(dteYearMonth & "-" & dteDays)) Then
			Response.Write strNote & "<BR>"
		End If
	Next
	Response.Write "</TD></TR>"
Next
...........
```

som sagt, något liknande var det och ngt för dig att labba med ....

cya,
PatrikB

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

---

Tråden på webben: https://www.webforum.nu/amne/asp/9798-getrows  
Nästa sida: https://www.webforum.nu/amne/asp/9798-getrows/page2.md
