Opdater post, hvis den er indenfor bestemt tidsrum
Hej.Jeg har ASP en side der viser nogle slides.
Siden opdaterer sig selv hvert 20. sekund, og jeg har netop lavet et felt i min database der hedder "status".
Med den kan jeg gøre et slide inaktiv/aktiv ved at ændre værdien til hhv. 0 og -1.
Jeg kunne godt tænke mig at lave en timer, hvor jeg kan indtaste dato og klokkeslæt for starttid og sluttid.
Ideen er så at et recordset finder alle poster der ligger indenfor et givent tidsrum og ændrer status værdien til -1, samtidig med at et andet recordset finder alle dem udenfor og sætter deres statusværdi til 0.
For at den ikke skal løbe alle poster igennem, hver gang den skal opdatere en side har jeg lavet et felt der hedder "timer".
Kun slides der har en aktiveret timer (felt sat til -1) vil blive medtaget i recordsettet.
Mit problem er, at jeg ikke kan finde ud af at lave en sql der finder de poster der ligger mellem det aktuelle tidspunkt.
Her er hvad jeg har:
'------------------------------------------------------
Dim myConn
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.open(sConn)
set RStimer=Server.CreateObject("ADODB.recordset")
RStimer.Open "SELECT * FROM slides WHERE timer = -1", myConn
if not RStimer.EOF then
'-- aktiv --
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.open(sConn)
strSQL = "update slides set prioritet = prioritet"
strSQL = strSQL & ", status= -1"
strSQL = strSQL & " where (FraDato >= "&date()&" AND tidspunkt >= "&time()&") And ("&date()&" <= TilDato AND sluttidspunkt <= "&time()&") AND timer = -1"
myConn.Execute(strsql)
'-- "opdater record" slut
bUpdate = true
end if'------------------------------------------------
Får dog at vide at der er en fejl i min sql
[MySQL][ODBC 3.51 Driver][mysqld-5.0.77-log]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 ':18:43) And (10-12-2010 <= TilDato AND sluttidspunkt <= 14:18:43) AND timer = -1' at line 1