webForumDet fria alternativet

Date() krånglar

11 svar · 337 visningar · startad av Havregryn

HavregrynMedlem sedan juni 200288 inlägg
#1

Hej!
Jag kör följande kod när man loggar in på min sida:

objConn.Execute("UPDATE tblStatus SET loginPoints=loginPoints+1, loginDate = date() WHERE username = '" & Request.Form("username") & "'")

Problemet är bara att det inte läggs till något värde i databasen när det gäller loginDate. Det fungerar om jag använder Now(), men inte med date(). Jag kör MySQL, och loginDate är av typen date. Vad är det som strular?
:q

@ndersMedlem sedan juni 200032 969 inlägg
#2

Jag vet inte om funktionen date() finns i mysql, men du kan ju alltid prova att använda asp-värdet:

objConn.Execute("UPDATE tblStatus SET loginPoints=loginPoints+1, loginDate = '" & date() & "' WHERE username = '" & Request.Form("username") & "'")

Mvh

HavregrynMedlem sedan juni 200288 inlägg
#3

Tack! Nu fungerar det prima.

HavregrynMedlem sedan juni 200288 inlägg
#4

Jag tycker ändå att detta är rätt märkligt eftersom det har fungerat att skriva bara date förut (innan allt på min hårddisk raderades)
http://www.webforum.nu/showthread.php?s=&forumid=54&threadid=80907

Och nu funkar det inte...
För när jag skall använda:

If Not rstStatus("loginDate") =   date()   then

objConn.Execute("UPDATE tblStatus SET loginPoints=loginPoints+1, loginDate = '" & date() & "' WHERE username = '" & Request.Form("username") & "'")

End if

Så får jag felet: "Undantag inträffade"... Det är något som inte stämmer här.

@ndersMedlem sedan juni 200032 969 inlägg
#5

Vad menar du med att det fungerat med att skriva 'bara date´? Jag tycker den här SQL-frågan ser ut att vara ungefär likadan som den i tråden du länkade till.

Och, SQL-frågan ser det inte ut att vara något fel på. Kan man få se lite kod runtomkring? Är det raden som exekverar update-satsen som felmeddelandet pekar på?

HavregrynMedlem sedan juni 200288 inlägg
#6

Det är inte SQL-frågan som krånglar, utan if-frågeställningen däröver. Det som gör mig konfunderad är att det har fungerat förut, men nu helt plötsligt slutat att göra det.

Är det datatypen det är ngt fel på, eller vad?

@ndersMedlem sedan juni 200032 969 inlägg
#7

Det kan det vara. Man skall alltid se till att man arbetar med rätt subtyper. Prova om detta fungerar bättre:

If Not cdate(rstStatus("loginDate")) =   date()   then

Mvh

HavregrynMedlem sedan juni 200288 inlägg
#8

Nix, det fungerar inte det heller.
Det blir samma fel, dvs "Undantag inträffade". Vad beror just det felmeddelandet på?

@ndersMedlem sedan juni 200032 969 inlägg
#9

Det kan bero på lite vad som helst.

Det råkar inte vara så att recordsetet rstStatus är tomt? Det måste du alltid kontrollera innan du försöker använda data ifrån det.

Mvh

HavregrynMedlem sedan juni 200288 inlägg
#10

Jo, kanske. Testade att byta ut Date() mot Now() i morse, och jag fick samma fel. Alltså måste felet vara rstStatus("loginDate")...

Vad menar du med att det kan vara tomt?
Innan jag kör det så startar jag rstStatus, och där jag väljer ut alla poster där användarnamn = Request.Form("användarnamn")... så det borde väl fungera?

@ndersMedlem sedan juni 200032 969 inlägg
#11

Havregryn skrev:

Vad menar du med att det kan vara tomt?
Innan jag kör det så startar jag rstStatus, och där jag väljer ut alla poster där användarnamn = Request.Form("användarnamn")... så det borde väl fungera?

Om du får 0 poster i resultat på den SQL-frågan så är recordsetet tomt och då blir det fel. Finns det någon post i databasen som stämmer överens med villkoret?

Mvh

HavregrynMedlem sedan juni 200288 inlägg
#12

Ja, det finns det. Vad kan då vara fel?

128 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
124 ms — hämta tråd, inlägg och bilagor (db)