Avatar billede jsc Nybegynder
22. april 2005 - 21:29 Der er 15 kommentarer og
1 løsning

simpelt: if-then virker ikke

Hej eksperter


Jeg har af en eller anden grund et problem med min kode, hvorfor tæller den ikke svarrigtig op:?

dben = int(rs2("rigtig"))
if dben = int(request("valg" & s)) then
svarrigtig = svarrigtig + 1
end if

databasens "rigtig" er formateret som tekst

/jsc
Avatar billede kalp Novice
22. april 2005 - 21:31 #1
dben = rs2("rigtig")
if dben = request("valg" & s) then
svarrigtig = svarrigtig + 1
end if

forstår dog ikke?
request("valg" & s)

altså det med & s.. hvorfor?
Avatar billede jsc Nybegynder
22. april 2005 - 21:34 #2
ved heller ikke... problemet ligger i at værdierne er ens, hvis jeg skriver dem ud ved siden af hinanden, og det er åbenbart ikke nok at formatere dem ens.. for det virker heller ikke

f.eks.:

rs2("rigtig") = 1
request("valg" & s) = 1

men alligevel ikke ens.. !?

s er en variabel, der bare skal vælge hvilken tekstbox der læses på... altså på f.eks. valg1 - hvis s = 1 og valg2, hvis s = 2

/jsc
Avatar billede busschou Praktikant
22. april 2005 - 21:42 #3
dben = rs2("rigtig")
if dben&"" = request("valg" & s)&"" then
svarrigtig = svarrigtig + 1
end if

Så burde de blive sammenlignet
Avatar billede jsc Nybegynder
22. april 2005 - 21:44 #4
virker... takker - smid et svar!

/jsc
Avatar billede busschou Praktikant
22. april 2005 - 21:45 #5
så lidt :o) godt når det virker
Avatar billede jsc Nybegynder
22. april 2005 - 21:46 #6
ja, det er rart efter så mange frustrationer..

/jsc
Avatar billede erikjacobsen Ekspert
22. april 2005 - 21:51 #7
Du kunne sikkert også

if dben = cint(request("valg" & s)) then

Feltet i tabellen er et tal, men alt hvar der kommer fra brugerens indtastninger er tekststrenge.
Avatar billede jsc Nybegynder
22. april 2005 - 21:52 #8
virkede ikke...

/jsc
Avatar billede jsc Nybegynder
22. april 2005 - 21:52 #9
tro mig.. har prøvet...

/jsc
Avatar billede busschou Praktikant
22. april 2005 - 21:53 #10
jeg har lært og erfaret at gøre det til en vane at sætte &"" bagefter når der sammenlignes
Måske gør jeg det for mange gange...men det virker :o)
Avatar billede erikjacobsen Ekspert
22. april 2005 - 21:58 #11
Ja, det er et godt trick, men det forklarer jo ikke hvad der er i vejen. Hvad type er feltet i tabellen?
Avatar billede jsc Nybegynder
22. april 2005 - 21:59 #12
det er et text-felt... i en mysql db.

busschou -> det må jeg huske...

/jsc
Avatar billede erikjacobsen Ekspert
22. april 2005 - 22:01 #13
text? eller char/varchar?
Avatar billede jsc Nybegynder
22. april 2005 - 22:02 #14
text
Avatar billede erikjacobsen Ekspert
22. april 2005 - 22:05 #15
Det er dumt. Du har en kort streng, på måske ikke mere end 1 tegn. Vælg char(1) hvis det ikke kan være større, eller mere end 1 hvis det er aktuelt. Så kan du lave de sammenligninger du vil uden mærkværdige tricks ;)  Og så er det også (lidt) hurtigere...
Avatar billede jsc Nybegynder
22. april 2005 - 22:08 #16
jeg er ligeglad med hensyn til hvad jeg bruger og om det er hurtigere, det er ikke det... jeg ønskede bare at det skulle kunne sammenlignes, og det kan det nu. - tak for svar!

smutter ud af spørgsmålet nu!

/jsc
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester