Знакомство с ASP.NET

Что еще нужно знать об ASP.NET

Взаимодействие с клиентом

Создание интерактивных приложений для intranet-сетей

Расширение функциональных возможностей intarnet

Создание спортивного Web-узла

Управление содержимым Web-узла

Отслеживание действий посетителейa

Виртуальный университет

 Использование специализированных приложений на узлах компаний

Виртуальная риэлтерская контора

Персонализация узла для посетителей

Интерактивные возможности узла

Увеличение посещаемости узла

Создание интерактивного магазина

Создание интерактивного аукциона

Web-службы

Справочник по языку ASP.NET/VB.


Сайт создан по материалам книги Г. Бучека "Учебный курс по ASP.NET". Москва: BHV, 2002.

Создатель сайта-выпускник курсов web-дизайнеров Сафоновского Колледжа Информационных Технологий Максим Котликов


Проект Конструктор
Проект Поиск решения
Проект Бронирование номеров


Если результирующее значение равно нулю, значит, заказ может быть принят:

    If DSRoomAvailable.Tables("RoomCount")
    Rows(0).Item("TheCount") = 0 Then

В этом случае его можно поместить в базу данных:

    DBInsert.CommandText = "Insert Into RoomReservations " _
    & "(RoomID, ArrivalDate, DepartureDate, CustomersName, " _
    & "PhoneNumber, EmailAddress) values (" _
    & ddlRoomlD.Selectedltem.Value & ", "
    & "'" & txtArrivalDate.text & '", "
    & "'" & txtDepartureDate.text & "', " _
    & "'" & txtName.text &"',"_
    & "'" & txtPhoneNumber.text & "', " _
    & "'" & txtEmailAddress.text S "')"

Далее указывается база данных для объекта Command:

    DBInsert.Connection DBConn
    DBInsert.Connection.Open

После этого объект обрабатывается:

    DBInsert.ExecuteNonQuery()

Посетитель получает сообщение о том, что заказ принят:

    IblResult.Text = "Ваш заказ принят!"

В противном случае посетитель уведомляется о том, что заказ не может быть выполнен:

    IblResult.Text = "К сожалению, номер занят в указанное время."

Независимо от того, принят заказ или нет, исходная панель не должна выводиться на экран:

    pnlMakeReservation.Visible = False

Панель с результатами, наоборот, должна отображаться:

    pnlReservationResponse.Visible = True

Изменение кода для Access

Для обеспечения взаимодействия приложения Бронирование номеров с базой данных Access необходимо внести в код два изменения. Первое изменение касается строки связи:

    DBConn = New OleDbConnection("Provider=sqloledb;" _
    & "server=localhost;" _
    & "Initial Catalog-INETCIO;"
    & "User Id=sa;" _
    & "Password=yourpassword;")

В ней должны быть указаны соответствующие провайдер и база данных:

    DBConn = New 01eDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;" _
    & "DATA SOURCE=" _
    & Server.MapPath("/INetBook/C10/Room/Access/C10Room.mdb;"))

Возможно, путь доступа к файлу базы данных придется изменить в соответствии с его расположением на вашем сервере.

Второе изменение связано с инструкцией where в SQL-запросе, выполняющем поиск совпадающих заказов. В этой инструкции даты заключаются в одинарные кавычки:

    DBCommand = New OleDbDataAdapter _
    ("Select Count(RoomReservationID) as TheCount " _
    & "From RoomReservations WHERE (RoomID - " _
    & ddlRoomlD.Selectedltem.Value _
    & ") AND "
    & "('" & txtArrivalDate.text & "' BETWEEN ArrivalDate "
    & "AND DepartureDate) OR (RoomID = " _
    & ddlRoomlD.Selectedltem.Value _
    & ") "
    & "AND ('" & txtDepartureDate.text _
    & "' BETWEEN ArrivalDate AND DepartureDate) " _
    & "OR (RoomID = "
    & ddlRoomlD.Selectedltem.Value _
    & ") AND " _
    & "(ArrivalDate BETWEEN "' _
    & txtArrivalDate.text & "' AND '" _
    & txtDepartureDate.text & "') " _
    & "OR (RoomID = " _
    & ddlRoomlD.Selectedltem.Value _
    & ") AND " _
    & "(DepartureDate BETWEEN '" _
    & txtArrivalDate.text & "' AND '" _
    & txtDepartureDate.text & "')", DBConn)

В Access в подобных случаях употребляется символ «#»:

    DBCommand = New OleDbDataAdapter _
    ("Select Count(RoomReservationID) as TheCount " _
    & "From RoomReservations WHERE (RoomID = " _
    & ddlRoomlD.Sefectedltem.Value _
    & ") AND " _
    & "(f" & txtArrivalDate.text & "# BETWEEN ArrivalDate "
    & "AND DepartureDate) OR (RoomID = " _
    & ddlRoomlD.Selectedltem.Value _
    5 ") " _
    6 "AND {#" & txtDepartureDate.text _
    & "# BETWEEN ArrivalDate AND DepartureDate) " _
    & "OR (RoomID = " _
    & ddlRoomlD.Selectedltem.Value _
    & ") AND " _
    & "(ArrivalDate BETWEEN #"
    & txtArrivalDate.text & "# AND t" _
    & txtDepartureDate.text'& "#) " _
    & "OR (RoomID = "
    & ddlRoomlD.Selectedltem.Value _
    & ") AND "
    & "(DepartureDate BETWEEN #" _
    & txtArrivalDate.text & "# AND I" _
    & txtDepartureDate.text & "#)", DBConn)

Hosted by uCoz