webForumDet fria alternativet

Radera efter dagens datum

ASPur ASP

41 svar · 1 451 visningar · startad av Biasse · sida 2 av 3

Frågan, av Biasse

Sitter och försöker få en funktion för detta och läst era tidigare trådar. Men när jag lägger in den jag fått fram raderar den hela databasen fast det finns poster som inte gått ut än. <% Sub DeleteSiten Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbnamn Conn.Execute("DELETE FROM kalender WHERE datum <= dateadd('d', -1, dat

Läs frågan i sin helhet →
Medlem sedan dec. 20025 483 inlägg
#21

Vad får du med:

select count(*) from kalender where datum > dateadd('d', -1, date())

?

Medlem sedan aug. 2003480 inlägg
#22

Skriptet kör igenom men jag har en händelse inskriven 2008-02-23 som inte vill raderas.

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbnamn

SQL = "select count(*) from kalender where datum > dateadd('d', -1, date())"
Conn.Execute(SQL)

Conn.Close
Set Conn = Nothing
%>
Medlem sedan dec. 20025 483 inlägg
#23

Kör frågan direkt i Access så får vi se vad frågan returnerar.

Medlem sedan aug. 2003480 inlägg
#24

Är det nått skumt med att det handlar om ett händelse datum och inte skapar datum? Men det ska väl fungera bara kolumnen datum är satt som datum/tid

Medlem sedan juli 20003 825 inlägg
#25

Koden fungerar aldrig utan brädgårdar:

SQL = "select count(*) from kalender where datum > #" & dateadd("d", -1, date()) & "#;"

***
Du ska skilja på ASP och SQL.

dateAdd i SQL = enkelfjumpar = '
dateAdd i ASP = dubbelfjumpar = "

Medlem sedan aug. 2003480 inlägg
#26

Nu är jag inte med.. köra i access.. hur gör man

Medlem sedan dec. 20025 483 inlägg
#27

Koden fungerar aldrig utan brädgårdar

Det bör den göra.

Medlem sedan aug. 2003480 inlägg
#28

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A03EA)
Syntaxfel
/diggers/kalender/5_sista.asp, line 9, column 64
SQL = "select count(*) from kalender where datum > #" & dateadd('d', -1, date()) & "#;""

Medlem sedan dec. 20025 483 inlägg
#29

Ange den rad jag skrev tidigare.

Red./ I Access har du ett alternativ "Frågor", se bifogad bild.

query.PNG
Medlem sedan aug. 2003480 inlägg
#30

Ja nu kör den igenom men 2008-02-23 posten är kvar

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbnamn

SQL = "select count(*) from kalender where datum > #" & dateadd("d", -1, date()) & "#;"
Conn.Execute(SQL)

Conn.Close
Set Conn = Nothing
%>
Medlem sedan dec. 20025 483 inlägg
#31

Jag har redigerat inlägget ovan. Kör

select count(*) from kalender where datum > dateadd('d', -1, date())

...genom att dubbelklicka på "Skapa en fråga i designläge", stänga det fönster som visas, klicka på SQL-ikonen bredvid spara-knappen, klistra in frågan och klicka på det röda utropstecknet i menyraden.

Medlem sedan aug. 2003480 inlägg
#32

Ska installera access 2003... i denna nya hittar jag inte testar snart

Medlem sedan dec. 20025 483 inlägg
#33

Kör detta i stället:

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbnamn

SQL = "select count(*) from kalender where datum > dateadd('d', -1, date())"
set RS = Conn.Execute(SQL)
response.write rs(0)
rs.close

Conn.Close
Set Conn = Nothing
Medlem sedan juli 20003 825 inlägg
#34

Kanske din databas är skadad???

För en så lätt fråga ska du inte ha så mycket bekymmer med...!!

Kolla i så fall: Verktyg --> Databasverktyg --> Komprimera och reparera databas

Medlem sedan dec. 200012 464 inlägg
#35

Eclipse: Det finns ingen anledning att anropa dateadd i ASP i detta fall. Du behöver inte blanda in # öht.

Det intressanta är resultatet av

select count(*) from kalender where datum >= dateadd('d', -1, date())
Medlem sedan aug. 2003480 inlägg
#36
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbnamn

select count(*) from kalender where datum >= dateadd('d', -1, date())
Conn.Execute(SQL)

Conn.Close
Set Conn = Nothing
%>

ger

Feltyp:
Kompileringsfel i Microsoft VBScript (0x800A03FD)
'Case' förväntas.
/diggers/kalender/5_sista.asp, line 9, column 7
select count(*) from kalender where datum >= dateadd('d', -1, date())

Jag har reparerat mdb nu oxo

Medlem sedan dec. 20025 483 inlägg
#37

Se inlägg #33 :)

Medlem sedan aug. 2003480 inlägg
#38

Det blir nån skum vit rand ovanför med en 3:a i men den sega posten är kvar

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbnamn

SQL = "select count(*) from kalender where datum > dateadd('d', -1, date())"
set RS = Conn.Execute(SQL)
response.write rs(0)
rs.close

Conn.Close
Set Conn = Nothing
%>
Medlem sedan dec. 20025 483 inlägg
#39

Så med den kod du postade i det första inlägget tas inte posten med datumet 2008-02-23 bort?

Medlem sedan aug. 2003480 inlägg
#40

Den första jag har i inlägg 1 raderade allt i databasen så den är den enda hittills som raderat alls :)

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