webForumDet fria alternativet

Ta bort poster som är äldre än 5 timmar..

ASP

13 svar · 509 visningar · startad av brw

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

Hur ska jag ställa SQLfrågan för att den skall rensa alla poster i en tabell som är äldre än 5 timmar?

sql = "DELETE from tblinloggadeusers WHERE datumreg "är äldre än" 5 timmar"
Connection.Execute(SQL)

------------------
Ingenting är omöjligt, bara en utmaning.

Medlem sedan dec. 19992 085 inlägg
#2

Du får köra en datediff först istället:
tid=Datediff(h,datumreg,now);
sql = "DELETE from tblinloggadeusers WHERE tid > 5"

------------------
//M@rtin || Peachy.nu\\

Sue Me!

Medlem sedan juli 2000619 inlägg
#3

hmm får

invalid procedure call or argument: 'datediff'

------------------
Ingenting är omöjligt, bara en utmaning.

Medlem sedan juni 200032 967 inlägg
#4

hur ligger tiden lagrad i tabellen?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>

Medlem sedan juli 2000619 inlägg
#5

det är now format hehe med tid och altl.. men jag kom på det nu.. det är ju fnutarna runt "d" i datediff som saknades.. nu funkar det..

men SQLfrågan blir jag ju lite fundersam över..

vadå WHERE tid = 5.. jag har ju ingen tabell som heter tid.

Som det blir måste jag ju köra en vanlig listning med en loop...

och om den får träff.. Ta bort posten eller har ni någon smartare lösning?

------------------
Ingenting är omöjligt, bara en utmaning.

Medlem sedan juni 200032 967 inlägg
#6

borde det inte gå bra att göra så här:

sql = "DELETE from tblinloggadeusers WHERE datumreg < #" & dateadd("h",-5,now()) & "#"

:q

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>

Medlem sedan juli 2000619 inlägg
#7

ptja.. jag tycker det.. det andra verkar krångla till det.. provar med detsamma

------------------
Ingenting är omöjligt, bara en utmaning.

Medlem sedan juli 2000619 inlägg
#8

hmm.. nu blir det såhär:

SQL utskriven med response.write:

Delete FROM tblinloggadeusers WHERE datumreg < #2001-05-10 06:39:10#

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

[Microsoft][ODBC SQL Server Driver][SQL Server]Line 1: Incorrect syntax near '06'.

/admin/inloggade.asp, line 15

------------------
Ingenting är omöjligt, bara en utmaning.

Medlem sedan dec. 19992 085 inlägg
#9

Oj jag tänkte lite fel :l

Innehåller datumreg tiden med timmar och minuter oxå då? MAO lagrar du now variabeln i datumreg?

------------------
//M@rtin || Peachy.nu\\

Sue Me!

Medlem sedan juli 2000619 inlägg
#10

nej jag ska ju kolla om det är någon post i databasen i fältet datumreg som ser ut tex.
2001-05-05 10:14:00

om det är någon/några poster som är äldre än fem timmar från NOW alltså tiden nu så ska dessa tas bort.

Men nu fick jag det där felmeddelandet.. vettefan vadd et kan vara.. förmodligen klagar den på minutrarna.. eftersom den klagar på "06"

------------------
Ingenting är omöjligt, bara en utmaning.

Medlem sedan juli 2000619 inlägg
#11

Ingen som har nån fundering på hur man löser felet?

------------------
Ingenting är omöjligt, bara en utmaning.

Medlem sedan dec. 200012 464 inlägg
#12

Att döma av det felmeddelande som du får så kör du SQL server? I så fall skall det inte vara några # och sånt.

Man borde kunna skriva


Delete 
  FROM tblinloggadeusers 
 WHERE datediff(hour,datumreg,getdate()) > 5

------------------
essentitia preter non sans multiplicandum

Medlem sedan juni 200032 967 inlägg
#13

Att döma av det felmeddelande som du får så kör du SQL server? I så fall skall det inte vara några # och sånt.

ja jäklarns. man är ju så van att folk kör access.

vi kanske ska säga också att sql-server vill ha apostrofer runt fält av typen datetime, istället för #.

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
nobody expects the spanish inquisition!</A>

Medlem sedan juli 2000619 inlägg
#14

anders.. när du säger det så.. jag kör access hemma och sql på jobbet så det stämmer med # och ' sånt glömmer man ;)

------------------
Ingenting är omöjligt, bara en utmaning.

258 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)