Как забронировать номер только в доступное время без риска столкновения на сайте бронирования ( ASP.NET В. Б.)?
У меня есть страница бронирования залов на этой странице (название зала, дата бронирования и время бронирования "от и до"). Например, зал "а" был забронирован на 11.12.2018 года с 12:00 до 13:00 . Таким образом,зал не должен быть забронирован повторно в это время той же даты, за исключением случаев до 12:00 или после 1:00 вечера.
Ну, я написал код, но программа собирается вставить его, даже если есть резервация.
Я не знаю, была ли ошибка в условии или запросе, а может быть, и по другой причине. Нет никаких признаков неисправности или ошибки, он просто не работает так, как требуется.
Что я уже пробовал:
Gridview1: это для вставки данных в базу данных.
Gridview2: определяется, можно ли зарезервировать зал или нет через (запрос "где").
Protected Sub Reserv_btn_Click(sender As Object, e As EventArgs) Handles Reserv_btn.Click If GridView2.Rows.Count > 0 Then Label1.Text = "Hall can not be reserved" Else If GridView1.Rows.Count > 0 Then ReservationDB.InsertParameters("Cpr").DefaultValue = Session.Item("cpr") ReservationDB.InsertParameters("Hall_Number").DefaultValue = HallName.SelectedValue ReservationDB.InsertParameters("Date").DefaultValue = Datetxt.Text ReservationDB.InsertParameters("Start_Time").DefaultValue = Startxt.Text ReservationDB.InsertParameters("End_Time").DefaultValue = Endtxt.Text ReservationDB.InsertParameters("Event_name").DefaultValue = Eventxt.Text ReservationDB.InsertParameters("Comments").DefaultValue = Commtxt.Text ReservationDB.Insert() Label1.Text = "hall was booked!!" Datetxt.Text = "" Startxt.Text = "" Endtxt.Text = "" Eventxt.Text = "" Commtxt.Text = "" End If End If End Sub
Это мой код в системе Запрос это значит , что:-
([Start_Time] между 'Start.text' и 'End.text')
ОПЕРАЦИОННАЯ
([End_Time] между 'Start.text' и 'End.text'))
(Start.text):это текстовое поле для времени начала.
(End.text): это текстовое поле для конечного времени.
SELECT Event_ID, Start_Time, End_Time, [Date], Event_name, Number_of_Attendees, Cpr, Hall_Number, Comments FROM Resevation_of_Halls WHERE (Hall_Number = ?) ([Date] =? ) (([Start_Time] BETWEEN ? AND ?) OR ([End_Time] BETWEEN ? AND ?))