webForumDet fria alternativet
Logga in / Bli medlem

Problem med Datum

ASP

22 svar · 439 visningar · startad av Ivar

Medlem sedan aug. 2002218 inlägg
Trådstart#1

Hej!
Jag har problem med den här koden
Kod:
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "DELETE FROM items WHERE ID = Posted > '" & Date & "'"
RecSet.Open SQL, Connect, 1,2

Jag vill att automatiskt radera poster som är äldre en 30 dagar.

Snälla hjälp jag är nybörjare i ASP

Med vänlig hälsning
Ivar

Medlem sedan feb. 200112 078 inlägg
#2
Set RecSet = Server.CreateObject("ADODB.Recordset") 
SQL = "DELETE FROM items WHERE dateCreated > #" & dateAdd("d",-30,Date) & "#" 
RecSet.Open SQL, Connect, 1,2

1. Jag har förutsatt att kolumnen är i formatet "datum" av något slag.
2. Jag har lagt till ett kolumnnamn som krävs för att ta reda på när posten skapades; 'dateCreated', där du lagrar dagens datum (med now()) när du skapar raden i databasen.

Redigerat) Felkodat. Har rättat till Ekström:s nedanstående notering. :r

Medlem sedan aug. 2002218 inlägg
#3

Hej!
Punkt 1 är svar ja
Punkt 2 ska prova om jag fattat rätt
Tack för hjälpen.
MVH Ivar

Medlem sedan feb. 20022 594 inlägg
#4

OveRRidE: Borde inte dateAdd-funktionen se ut som följer:
dateAdd("d",-30,date())

Alltså att den drar bort 30 dagar istället för att lägga på?

Är lite trött just nu... Kan ju bero på det också :e

Medlem sedan feb. 200112 078 inlägg
#5

Ekström, det är korrekt, det är jag som är trött. :r

Korrekt kod:

Set RecSet = Server.CreateObject("ADODB.Recordset") 
SQL = "DELETE FROM items WHERE dateCreated > #" & dateAdd("d",-30,Date) & "#" 
RecSet.Open SQL, Connect, 1,2
Medlem sedan feb. 20022 594 inlägg
#6

OveRRidE skrev:

Ekström, det är korrekt, det är jag som är trött. :r

Nej, det är jag som är trött. Och har tur :e

Medlem sedan aug. 2002218 inlägg
#7

Hej!
Jag har den här koden nu men det funkar inte
Tacksam för all hjälp:

\<%

Dim connect, query, senaste, test, delete

set connect = server.createobject("ADODB.connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;"

Set senaste = Server.CreateObject("ADODB.Recordset")
query = "SELECT * FROM items Where test='on' ORDER BY posted DESC"
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "DELETE FROM items WHERE dateCreated > #" & dateAdd("d",-30,Date) & "#"

senaste.Open query, Connect

Do Until senaste.EOF

%>

Medlem sedan juni 200032 967 inlägg
#8

På vilket sätt funkar det inte?
Felmeddelande?

Och det är väl inte all kod det där?
Är det tänkt att den skall radera poster och inget mer? Eller exakt vad är det tänkt att koden skall göra?

Medlem sedan aug. 2002218 inlägg
#9

Ingen Felmeddelande men posterna är kvar
DVS Äldre poster en 30 dagar ska bort.

Medlem sedan juni 200032 967 inlägg
#10

Om den bara ska radera poster så borde det nog se ut något sånt härnt:

<% 
Dim connect, SQL

set connect = server.createobject("ADODB.connection") 
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;" 

SQL = "DELETE FROM items WHERE dateCreated < #" & dateAdd("d",-30,Date) & "#" 

Connect.Execute SQL, , 128

%>

Märk att jag har vänt på haken i SQL-frågan. Det ska vara mindre än, inte större än.

Mvh,

Medlem sedan aug. 2002218 inlägg
#11

Tack Timmy jag testar.
MVH Ivar

Medlem sedan juni 200032 967 inlägg
#12

Ska nog ändra min signatur, för att undvika missförstånd. Jag heter Anders. :)

[r]: Sådärja, en favorit i repris. ;)

Medlem sedan aug. 2002218 inlägg
#13

Här är all kod i default.asp vad är felet?

<%
Dim connect, query, senaste, test, Sql

set connect = server.createobject("ADODB.connection")
Connect.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("db/annonser.mdb") & ";pwd=;"

Set senaste = Server.CreateObject("ADODB.Recordset")
query = "SELECT * FROM items Where test='on' ORDER BY posted DESC"
Set RecSet = Server.CreateObject("ADODB.Recordset")
SQL = "DELETE FROM items WHERE dateCreated < #" & dateAdd("d",-30,Date) & "#"

senaste.Open query, Connect
Connect.Execute SQL, , 128

Do Until senaste.EOF

%>

\<tr\> 
  \<td\> \<a href="detail.asp?item=\<%=senaste("id")%\>"\>\<%=senaste("item")%\>\</a\> \</td\>
  \<td\> Categori: 
    \<% if senaste("category")="categori1" then %\>
    \<%=categori1%\> 
    \<% elseif senaste("category")="categori2" then %\>
    \<%=categori2%\> 
    \<% elseif senaste("category")="categori3" then %\>
    \<%=categori3%\> 
    \<% elseif senaste("category")="categori4" then %\>
    \<%=categori4%\> 
    \<% elseif senaste("category")="categori5" then %\>
    \<%=categori5%\> 
    \<% end if %\>
  \</td\>
  \<td\> Pris: \<%=senaste("price")%\> Kr \</td\>
\</tr\>
\<%

senaste.MoveNext

Loop

senaste.Close
Set senaste = Nothing
%>

Händer ingenting alltså poster som är äldre en dagens datum Now() dvs äldre en 30 dagar skall bort.
Mvh Ivar

Medlem sedan feb. 200112 078 inlägg
#14

Har du skapat kolumnen 'dateCreated' i din databas och fyllt dessa rader med datum då raden skapades?

Se även till så att det verkligen finns poster i databasen som kommer tas bort, så att det inte är det som beror. :)

Medlem sedan feb. 20022 594 inlägg
#15

Ivar skrev:

Tack Timmy jag testar.
MVH Ivar

Hehe, Timmy!

Vad var det egentligen, @nders? Timmy är väl hunden i "Fem" om jag inte minns fel. :D

Medlem sedan juni 200032 967 inlägg
#16

Riktigt OT: Timmy är även en rullstolsbunden figur i South Park, vars ordförråd består av hans eget namn. Han svarar alltid på tilltal, genom att skrika sitt eget namn, Timmy!. Läskigt skön karaktär. :D

Medlem sedan feb. 20022 594 inlägg
#17

Hehe. Jag måste ja missat honom helt. Har ändå sett en hel drös med SP-avsnitt.

Måste dock säga att Simpsons och Futurama knäcker SP lätt. :e

Medlem sedan dec. 20002 526 inlägg
#18

håller med om att Simpsons är grymt :)

Medlem sedan juni 200032 967 inlägg
#19

Back to topic, tack!

Medlem sedan feb. 20022 594 inlägg
#20

Självklart, o allsmäktige ledare... ;)

Nu är jag också OnT

282 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
118 ms — deklarationer (db)
0 ms — hämta statistik (cache)
150 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)