webForumDet fria alternativet

radera från databas ett visst datum

ASP

29 svar · 759 visningar · startad av jake · sida 2 av 2

Frågan, av jake

hej, jag har en databas med en kolumn som heter slutdatum Nu vill jag att varje post ska raderas från databasen dagen efter slutdatum... vad ska jag då ersätta texten "tomorrow" med i koden nedan? Måste kolumnen slutdatum vara i någon speciellt format? Vilket? Vilken kod behövs sedan för att köra funktionen? <% '''This function deletes a site the day after slutdatum Function DeleteSite(varI

Läs frågan i sin helhet →
Medlem sedan sep. 2001649 inlägg
#21

ok,
men när jag ändrar det får jag istället ett runtime error

Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'DeleteSiten'
på raden som kör funktionen...

<%
'''This function deletes a site the day after slutdatum
Function DeleteSiten(varID)

	Set oConnect = Server.CreateObject("ADODB.Connection")
	oConnect.Open strConn
	oConnect.Execute("DELETE FROM " & vinsttips & " where slutdatum < '" & dateadd("d", -1, date) & "'")	
	
	oConnect.Close
	Set oConnect = Nothing

	

End Function
%>

<% deleteSiten %>
Medlem sedan nov. 20017 144 inlägg
#22

Vad är : varID?
Du skickar inte in någon parameter.
<% deleteSiten %>

Varför en funktion och inte en sub?

Medlem sedan sep. 2001649 inlägg
#23

vilken parameter ska skickas med när funktionen körs då?

(hade som sagt tidigare antagligen varit minst lika bra med en sub...)

Medlem sedan nov. 20017 144 inlägg
#24

Du behöver väl inte ha någon parameter med alls.
Varför har du kolumnnamnet dynamiskt?

Sub DeleteSiten

	Set oConnect = Server.CreateObject("ADODB.Connection")
	oConnect.Open strConn
	oConnect.Execute("DELETE FROM tabellen where slutdatum  < SUBDATE(NOW(),INTERVAL 1 DAY")

oConnect.Close : Set oConnect = Nothing

End sub
Medlem sedan juni 200032 967 inlägg
#25

jake skrev:

ok,
men när jag ändrar det får jag istället ett runtime error

Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment: 'DeleteSiten'
på raden som kör funktionen...

Det jag menade var att du skulle ändra just dateadd-delen i villkoret i SQL-frågan. Inte ändra onödigt mycket...

JesperTs senaste kod ser fin ut.

Medlem sedan sep. 2001649 inlägg
#26

ok, ursäkta att jag krånglar till det.

nu använder jag följande kod

<%
sub DeleteSite()
	Set oConnect = Server.CreateObject("ADODB.Connection")
	oConnect.Open strConn
	oConnect.Execute("DELETE FROM vinsttips WHERE slutdatum <= dateadd('d', -1, date())"),,128
	oConnect.Close
	Set oConnect = Nothing
End Sub

' Kör!

DeleteSite
%>

och får felmeddelandet

[TCX][MyODBC]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '('d', -1, date())' at line 1

Medlem sedan juni 200032 967 inlägg
#27

@nders skrev:

Dateadd() fungerar inte i MySQL, utan då får man göra på annat sätt

JesperT skrev:

oConnect.Execute("DELETE FROM tabellen where slutdatum < SUBDATE(NOW(),INTERVAL 1 DAY")

Medlem sedan sep. 2001649 inlägg
#28

oups, sorry, tittade på fel inlägg du hänvisade till.
dock verkar det inte stämma riktigt...

Microsoft OLE DB Provider for ODBC Drivers error '80040e09'

[TCX][MyODBC]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

<%
Sub DeleteSiten

	Set oConnect = Server.CreateObject("ADODB.Connection")
	oConnect.Open strConn
	oConnect.Execute("DELETE FROM vinsttips WHERE slutdatum  < SUBDATE(NOW(),INTERVAL 1 DAY")

oConnect.Close
Set oConnect = Nothing

End sub

' Kör!

DeleteSiten
%>
Medlem sedan juni 200032 967 inlägg
#29

Det ser ut som att det saknas en slutparentes till Subdate.

oConnect.Execute("DELETE FROM vinsttips WHERE slutdatum  < SUBDATE(NOW(),INTERVAL 1 DAY[b])[/b]")
Medlem sedan sep. 2001649 inlägg
#30

ah med en extra parantes gick det bättre.
Tack för all hjälp.

264 ms totalt · 4 externa anrop · v20260731065814-full.2f471f9e
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
126 ms — ändringar (db)