webForumDet fria alternativet

Söka på datum

ASP

1 svar · 211 visningar · startad av kristoffer

Medlem sedan juni 20001 257 inlägg
Frågan#1

Jag vill fylla i två datum i ett formulär, ett startdatum och ett slutdatum. Datumen anger den tidsperiod man vill boka för någon aktivitet. Om någon annan aktivitet redan är bokad inom den tidsperioden skall den önskade bokningen ej kunna genomföras. Följande SQL-sats verkar alldeles för knölig. Kan det lösas annorlunda?

SQL = "SELECT * FROM tabell3 WHERE "
SQL = SQL & "(StartDate BETWEEN #" & Request.QueryString("from") & "# AND #" & Request.QueryString("to") & "#) OR "
SQL = SQL & "(EndDate BETWEEN #" & Request.QueryString("from") & "# AND #" & Request.QueryString("to") & "#) OR "
SQL = SQL & "(StartDate < #" & Request.QueryString("from") & "# AND EndDate > #" & Request.QueryString("to") & "#)"

If RecSet.EOF Then
 Response.Write("Ledig plats finns")
Else
 Response.Write("Det finns ingen ledig plats")
End If
Medlem sedan dec. 200012 464 inlägg
#2

Sql-satsen kan väl förenklas

from = "#" & Request.QueryString("from") & "#"
to   = "#" & Request.QueryString("to") & "#"
"SELECT 1 FROM tabell3 " & _
" WHERE StartDate <= " & to & _
"   and EndDate >= " & from

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

257 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)
124 ms — ändringar (db)