webForumDet fria alternativet

Vad är fel??

Databaser & SQL

3 svar · 217 visningar · startad av mackz

Medlem sedan mars 200426 inlägg
Frågan#1

Söker funktionen att radera post efter 30 dagar.

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& Server.MapPath("mindatabas.mdb")

SQL = "DELETE FROM annons WHERE id  < dateadd(d, x number of days ,convert(char(24),getdate(),1))" 
Connect.Execute(SQL)
%>
Medlem sedan aug. 20003 575 inlägg
#2

Ett felmeddelande är alltid bra men jag hittar en del fel utan det.

Första är att DateAdd tillhör inte SQL utan ASP så det skall vara en
"&DataAdd( osv.
x numbers of days ?? det är inte en sträng som skall in där utan en integer.

Medlem sedan mars 200426 inlägg
#3

Det jag började utgå ifrån var detta.. Sen började jag dribbla runt och blev snurrig..

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ="& db

sQry="DELETE FROM YOUR_TABLE_NAME WHERE COLUMN_NAME < dateadd(d, x number of days ,convert(char(24),getdate(),1))" 
Conn.Execute(sQry),,adexecutenorecords
%>
Medlem sedan dec. 200012 464 inlägg
#4

Dateadd finns i SQL server och Access t.ex.

Den syntax som du använder fungerar dock enbart i SQL server. Access har en som mer följer de regler som finns i VB

sQry="DELETE FROM YOUR_TABLE_NAME WHERE COLUMN_NAME < dateadd('d',30,date())"

Flyttas från ASP

303 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
128 ms — deklarationer (db)
0 ms — hämta statistik (cache)
171 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)