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.
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..
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 561 inlägg objConn.Execute("delete from tblUsers_messagescroll where messageTime < DateAdd(""n"", -2, Now())")
Josef skrev:
objConn.Execute("delete from tblUsers_messagescroll where messageTime < DateAdd(""n"", -2, Now())")
tack, nu ska jag se om koden körs
satte tiden till 2 minuter, efter 3-4 minuter så var posten fortfarande kvar
@ndersMedlem sedan juni 200032 969 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.
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 200032 969 inlägg Du vet väl om du har exekverat DELETE-frågan?