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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Web-службы

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


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

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


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


Этот объект связывается с элементом DropDownList:

    ddlRoomlD.DataSource - _
    DSRoomData.Tables("Rooms").DefaultView
    ddlRoomID.DataBind()

В завершение необходимо отобразить исходную панель:

    pnlMakeReservation.Visible = True

а панель результатов скрыть:

    pnlReservationResponse.Visible = False

Вторая процедура запускается, когда посетитель щелкает на элементе управления Button. Она проверяет, может ли быть выполнен заказ. При положительном ответе заказ добавляется в базу данных, а посетитель получает соответствующее сообщение.

    Sub SubmitBtn_Click(Sender As Object, E As EventArgs)
    Dim DBConn as OleDbConnection
    Dim DBCommand As OleDbDataAdapter
    Dim DSRoomAvailable as New DataSet
    Dim DBInsert As New OleDbCommand
    DBConn = New OleDbConnection("Provider=sqloledb;" _
    & "server=localhost;" _
    & "Initial Catalog=INETC10;" _
    & "User Id=sa;"
    & "Password=yourpassword;")
    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)
    DBCommand.Fill(DSRoomAvailable, _
    "RoomCount")
    If DSRoomAvailable.Tables("RoomCount"). _
    Rows(0).Item("TheCount") = 0 Then
    DBInsert.CommandText = "Insert Into RoomReservations " _
    5 "(RoomID, ArrivalDate, DepartureDate, CustomersName, " _
    6 "PhoneNumber, EmailAddress) values (" _
    & ddlRoomlD.Selectedltem.Value & ", " _
    & "'" & txtArrivalDate.text & "', " _
    & "'" & txtDepartureDate.text&"',"_
    & "'" & txtName.text &"',"_
    & "'" & txtPhoneNumber.text & "', " _
    & "'" & txtEmailAddress.text & "')"
    DBInsert.Connection - DBConn
    DBInsert.Connection.Open
    DBInsert.ExecuteNonQuery()
    IblResult.Text = "Ваш заказ принят!"
    Else
    IblResult.Text = "К сожалению, номер занят в указанное время."
    End If
    pnlMakeReservation.Visible = False
    pnlReservationResponse.Visible = True
    End Sub

Сначала формируется запрос для проверки того, может ли быть выполнен заказ Запрос является комплексным, потому что проверке подлежат четыре условия Ни по одному из этих параметров заказ посетителя не должен противоречить другим заказам. Первое условие: во временные рамки полученного заказа входит другой заказ. Второе условие выполняется, когда полученный заказ попадает в рамки другого заказа. Третье условие предусматривает ситуацию, когда начальная дата заказа относится к срокам уже существующего заказа. А четвертое условие выполняется тогда, когда конечная дата заказа попадает в сроки уже существующего заказа.

Для поиска записей, удовлетворяющих какому-либо из этих условий, в запрос< используется оператор Or. Возвращается количество противоречащих записей:

    DBConnnand = 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 ('" & trttDepartureDate.text _
    & "' BETWEEN ArrivalDate AND DepartureDate) " _
    & "OR (RoomID = " _
    & ddlRoomlD.Selectedltem.Value _
    & ") AND " _
    & "(ArrivalDate BETWEEN '" _
    & txtArrivalDate.text & "' AND '" _
    i txtDepartureDate.text & "') " _
    & "OR (RoomID = " _
    & ddlRoomlD.Selectedltem.Value _
    & ") AND " _
    & "(DepartureDate BETWEEN '" _
    & txtArrivalDate.text & "' AND "' _
    & txtDepartureDate.text & "')", DBConn)

Результат запроса помещается в объект DataSet:

    DBCommand.Fill(DSRoomAvailable, _
    "RoomCount")

Hosted by uCoz