webForumDet fria alternativet

Ta bort användare efter 3 månader.

ASP

7 svar · 506 visningar · startad av Wiklund!!

Medlem sedan juli 2002549 inlägg
Frågan#1

För att inte få allt för mkt inaktivitet på min community vill jag ta bort användare som inte har varit inloggade på 3 månader.

Jag har en kolumn i tabellen som heter datum som uppdateras varje gång man loggar in. Den är i datum typ (Now).

Har testat denna kod men det fungerar inte.

<%Addera = "SELECT * From medlemmar WHERE datum = "& DateAdd("m", -3, Now) & ""
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

If RecSet.EOF Then

Else Do Until RecSet.EOF

RecSet.Delete
RecSet.Update

RecSet.MoveNext
Loop
End If
RecSet.Close%>

Felmeddelande:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'datum = 2002-10-12 16:11:04'.
/wiklund/mainframe.asp, line 8

Medlem sedan dec. 200012 464 inlägg
#2
connect.execute "delete from medlemmar where datum <= dateadd('m',-3,now())",,128
Medlem sedan juli 2002549 inlägg
#3

Tack så mycket. Hoppas det är rätt så jag inte tar bort massa andra användare :P

Medlem sedan mars 20021 889 inlägg
#4

Tänk på att du alltid tjänar avsevärt på att använda rena SQL-statements, så som det LarsG visade.
Använd Aldrig RecSet.Update, RecSet.Delete osv.

:)

Medlem sedan jan. 20022 440 inlägg
#5

Och var finns beviset för detta ? :)

Medlem sedan juni 200032 967 inlägg
#6

Nu har jag iofs aldrig själv gjort insert eller update med hjälp av ADO, utan alltid med riktiga SQL-frågor. I gammalt inlägg av LarsG kan man läsa hur det ligger till.

Man kan ju alltid testa själv annars.

Mvh

Medlem sedan maj 200010 687 inlägg
#7

Update kan jag finna väldigt nyttigt. Så man kan inte dirket säga att man inte ska använda det.
Däremot att använda Delete i ADO ser jag inte riktigt någon anledning till.

Medlem sedan feb. 20012 412 inlägg
#8

Re: Ta bort användare efter 3 månader.

Wiklund!! skrev:

För att inte få allt för mkt inaktivitet på min community vill jag ta bort användare som inte har varit inloggade på 3 månader.

Jag har en kolumn i tabellen som heter datum som uppdateras varje gång man loggar in. Den är i datum typ (Now).

Har testat denna kod men det fungerar inte.

<%Addera = "SELECT * From medlemmar WHERE datum = "& DateAdd("m", -3, Now) & ""
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic

If RecSet.EOF Then

Else Do Until RecSet.EOF

RecSet.Delete
RecSet.Update

RecSet.MoveNext
Loop
End If
RecSet.Close%>

Felmeddelande:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel (operator saknas) i frågeuttrycket 'datum = 2002-10-12 16:11:04'.
/wiklund/mainframe.asp, line 8

Varför ta bort dem, varför inte bara inaktivera dem?

Tänk på att det kan bli en massa herrelösa poster om du tar bort en användare, tex en massa foruminlägg, gästboksinlägg mm

Mitt tips är att inaktivera istället. :)

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