webForumDet fria alternativet
Logga in / Bli medlem

Arrayproblem...

ASP

7 svar · 168 visningar · startad av LilleSkutt

Medlem sedan feb. 2001265 inlägg
Trådstart#1

Hallå!

Jag har problem med en funktion som ska returnera en tvådimensionell array om den har skapats, annars ska den returnera falskt.

Koden jag försökte med är:

Function id (ByVal usr)
    Dim rows
    rows = Data.getRows ("SELECT id FROM anvandare WHERE namn = '" & usr & "'")

    If rows = False Then
        id = False
    Else
        id = rows(lBound(rows, 2), lBound(rows, 1))
    End If
End Function

Funktionen getRows returnerar en tvådimensionell array, hämtat med getRows, om den fanns, annars falskt. Nu vill jag kolla om rows är falskt eller har värden, och returnera olika beroende på det.

Hur ska jag göra?

Medlem sedan mars 20002 836 inlägg
#2

Så här kanske:

strSQL = "SELECT id FROM anvandare WHERE namn = '" & usr & "'"
Set objRS = Data.Execute(strSQL)
If objRS.EOF Then
id = False
Else
id = objRS("id")
End If

cya,
PatrikB

Medlem sedan feb. 2001265 inlägg
#3

Njäe, då skapar jag juh ett nytt recordset o returnerar det... Jag vill använda mig av GetRows(). Men det var ju inte det frågan handlade om heller, iofs :)

Hur kontrollerar man om en array finns, eller om variabeln är satt till False?

Min kod över funkar inte...

Medlem sedan okt. 20005 273 inlägg
#4
If Ubound(rows) < 0 Then
'det finns inga rader
Else
'det finns rader
End If

typ :OO

Medlem sedan dec. 19996 721 inlägg
#5

Har du gjort en egen GetRows-metod? I annat fall bör du nog kolla upp hur man använder GetRows.

Function id (usr)
Dim rows,objRS
set objRS = Connection.Execute("SELECT id FROM anvandare WHERE namn = '" & usr & "'")
if not objRS.EOF then
id=objRS.GetRows
else
id=false
End If
End Function
Medlem sedan feb. 2001265 inlägg
#6

Alltså, jag vet hur man använder GetRows! Funktionen heter likadant, och i den hämtar jag data från en databas med den GetRows()-metod du visar. Sedan retunerar jag arrayen om det fanns någon data i arrayen, annars falskt.

I funktionen som jag bifogade i mitt första inlägg vill jag hämta användar-id:et och använder då min funktion för att hämta en array... Om det fanns någon användarnamn skickas arrayen tillbaka, annars skickas False tebax.

Grejen är den att man inte kan jämföra en array mot false, inte heller en boolean mot en array!

Medlem sedan dec. 19996 721 inlägg
#7

Okej..

if not isArray(rows) then...

Medlem sedan feb. 2001265 inlägg
#8

Ok, jag struntade i att använda False... Om det inte fanns någon data så returnerar mina funktioner null istället. Funkar toppen...

Tack för er tid, ändå!

264 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)