webForumDet fria alternativet

Detta är mystiskt

ASP

3 svar · 199 visningar · startad av eriks

Medlem sedan apr. 20011 418 inlägg
Frågan#1

Hej! Jag vill jämföra ett värde i ett recordset (samma hela tiden) med alla värden i en annan tabell, så jag skriver: (RS2("UserID") = 1, i detta fallet)

Do Until RS3.EOF
if RS3("SpelarID") = RS2("UserID") then
Response.Write "Värdena är samma"
end if
RS3.MoveNext
Loop

Detta gör att "Värdena är samma" aldrig skrivs, trots att värdet 1 finns i RS3. Om jag däremot skriver:

Do Until RS3.EOF
if RS3("SpelarID") = 1 then
Response.Write "Värdena är samma"
end if
RS3.MoveNext
Loop

Så skrivs "Värdena är samma" ut. Ändå är RS2("UserID") = 1, jag har testat att skriva ut det. Vad är fel?

Tack! /Erik

Medlem sedan dec. 200012 464 inlägg
#2
if Clng(RS3("SpelarID")) = Clng(RS2("UserID")) then

------------------
essentitia preter non sans multiplicandum

Medlem sedan apr. 20011 418 inlägg
#3

mycket tack....det funkar bra

jag förstår dock inte vad koden betyder, och när man ska använda den. Vill du förklara?

Tack! /Erik

Medlem sedan dec. 200012 464 inlägg
#4

Clng innebär att man gör om värdena till subtypen long. Det behövs för att man skall kunna göra en numerisk jämförelse av värdena.

(Jag vet inte hur jämförelsen sker om man inte koverterar.)

------------------
essentitia preter non sans multiplicandum

254 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)