webForumDet fria alternativet

Kolla om lägenheten är bokad

ASP

3 svar · 234 visningar · startad av mikul

Medlem sedan aug. 20013 824 inlägg
Frågan#1

Hej!

Jag skall försöka kolla efter i en databas om en lägenhet är bokad, i fall den inte är det så skall man sedan kunna boka den.
Men det är så att jag inte riktigt vet hur jag skall göra, för allt jag försökt med funkar inte.
på mitt senaste försök får jag hela tiden svaret att den inte är bokad fast den är det.

"SELECT * FROM ApartmentBooking WHERE Rel_ApartmentNO = "& request.QueryString("checkApartment") &" 
AND EXISTS (select * from ApartmentBooking WHERE 
startdate BETWEEN #" & cDate(fromdate) & "#  AND #" & cDate(todate) & "# 
OR enddate BETWEEN #" & cDate(fromdate) & "#  AND #" & cDate(todate) & "#);"

if not rs.eof then
     response.write "bokad"
else
     response.write "inte bokad"
end if

Skriver jag ut frågan ser det ut så här:

SELECT * FROM ApartmentBooking WHERE Rel_ApartmentNO = 10 
AND EXISTS (select * from ApartmentBooking WHERE 
startdate BETWEEN #2003-10-10# AND #2003-10-11# 
OR enddate BETWEEN #2003-10-10# AND #2003-10-11#);

Vad gör jag för fel? :q Eller bör jag göra på annat vis? :q

Tack på förhand! :)

Medlem sedan mars 2003772 inlägg
#2

Har du inget separat table där du har ett värde för bokad och ett värde för icke bokad som du relaterar till ApartmentBooking ?

tblConstants
Description - ID - ConstantsType

Sen har du dom lika värdena i tblConstants
Bokad - 1 - 10
Icke bokad - 2 - 10

Sen har du en kolumn i ApartmentBooking som heter Booked och där i sätter du ID't från tblConstants beroende på om den är bokad eller inte och därigenom behöver du bara kolla vilket av dom 2 värdena den specifika lägenheten har.

Medlem sedan aug. 20013 824 inlägg
#3

nä, så här ser det ut:

ID    StartDate   EndDate   Rel_ApartmentNO

[b]StartDate[/b] = datumet när bokningen börjar.
[b]EndDate[/b] = datumet när bokningen avslutas.
[b]Rel_ApartmentNO[/b] = lägenhetsnummret som är relaterat till tabellen apartments
som informationen om lägenheterna finns.

Sen är då allt som inte är mellan StartDate och EndDate inte bokat.
Förstår du?

Medlem sedan aug. 20013 824 inlägg
#4

Hahaha.... Det va inget fel i sql-frågan som jag trodde, när jag kollade närmare på resultatet så visade det sig att det var fel värde som hade skickats med i request.QueryString("checkApartment")

Tack för er tid!

256 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)