WebbisNetMedlem sedan feb. 20032 182 inlägg
Jag tänkte skriva följande sats men jag vet inte hur man skriver för att ta bort inlägg som är ex 20 minuter gamla
DELETE FROM tblUsers_messagescroll WHERE messageTime (är mer än 20 minuter från den aktuella tiden)
Så från att nån skriver ett meddelande så ska det tas bort efter 20 minuter
GuffaMedlem sedan juni 2004533 inlägg
Använd DateAdd för att dra av 20 minuter från aktuellt tid, och jämför med det.
WebbisNetMedlem sedan feb. 20032 182 inlägg
e inte så bra på DateAdd :-)
N0M0NEYMedlem sedan juli 200543 inlägg
Inte dateadd utan datediff..
DELETE FROM tblUsers_messagescroll WHERE DateDiff("n",messageTime,now()) => 20
Tror jag ..
GuffaMedlem sedan juni 2004533 inlägg
Jo, DateAdd.
delete from tblUsers_messagescroll where messageTime < DateAdd("n", -20, Now())
Visserligen kan man få det att fungera med DateDiff också, men jag föredrar DateAdd. Dels är den mer exakt, eftersom DateDiff bara räknar skillnaden i hela minuter, medan metoden med DateAdd blir exakt på sekunden. Dels är det enklare att se vad den gör, ifall man sätter datumen fel i DateDiff så får man ett negativt värde istället. Dessutom så blir frågan snabbare när datumfältet inte ingår i funktionsanropet.
N0M0NEYMedlem sedan juli 200543 inlägg
Okej tänkte inte att man kunde göra så..
Men visst de funkar ju..
LarsGMedlem sedan dec. 200012 465 inlägg
WebbisNetMedlem sedan feb. 20032 182 inlägg
jag får
Microsoft VBScript compilation error '800a03ee'
Expected ')'
/smsmessage.asp, line 7
objConn.Execute("delete from tblUsers_messagescroll where messageTime < DateAdd("n", -2, Now())")
---------------------------------------------------------------------------------^
JosefMedlem sedan mars 20023 123 inlägg
objConn.Execute("delete from tblUsers_messagescroll where messageTime < DateAdd(""n"", -2, Now())")
WebbisNetMedlem sedan feb. 20032 182 inlägg
Josef skrev:
objConn.Execute("delete from tblUsers_messagescroll where messageTime < DateAdd(""n"", -2, Now())")
tack, nu ska jag se om koden körs
WebbisNetMedlem sedan feb. 20032 182 inlägg
satte tiden till 2 minuter, efter 3-4 minuter så var posten fortfarande kvar
@ndersMedlem sedan juni 200026 914 inlägg
- Du borde ha apostrofer runt n i dateadd-delen.
- Är du säker på att du kört SQL-frågan efter det att de 2 minutrarna passerat då?
Kör gärna en select-fråga med samma villkor som din delete, så får du se om datat verkar vara riktigt.
WebbisNetMedlem sedan feb. 20032 182 inlägg
hur ska jag se om den körs med Set delete1=objConn.Execute("SELECT * FROM tblUsers_messagescroll where messageTime < DateAdd(""n"", 2, Now())")
@ndersMedlem sedan juni 200026 914 inlägg
Du vet väl om du har exekverat DELETE-frågan?