
Проект Доска объявлений
Проект Поздравительная открытка
Проект Расписание сеансов
Со страницей связаны две процедуры. Первая процедура активизируется во время загрузки страницы:
Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
If Not IsPostBack Then
If Len(Request.QueryString("BirthdaylD")) = 0 Then
Response.Redirect{"create_card.aspx")
End If
Dim DBConn as OleDbConnection
Dim DBCommand As OleDbDataAdapter
Dim DSPageData as New DataSet
DBConn = New OleDbConnection("Provider=sqloledb;" _
& "server=localhost;" _
& "Initial Catalog=INETC14;"
& "User Id=sa;"
& "Password=yourpassword;")
DBCommand = New OleDbDataAdapter _
("Select CardNumber, SendersName, SendersEmail, " _
& "RecipientsName, TheMessage From Birthdays " _
& "Where BirthdaylD = "
& Request.QueryString("BirthdaylD"), DBConn)
DBCommand.Fill(DSPageData, _
"BDay")
imgButton.ImageUrl="./bday" _
& DSPageData.Tables("BDay").Rows(0).Item("CardNumber") _
& "a.gif"
imgCard.ImageUrl="./bday" _
& DSPageData.Tables("BDay").Rows(0).Item("CardNumber")
& "b.gif"
1Ь1Т &1е.Тех ="<CENTER> Поэдравительная открытка Ana:<BR>" _
& DSPageData.Tables("BDay").Rows(O).Item("RecipientsName") _
& "</CENTER>"
IblMessage.Text = _
DSPageData.Tables("BDay").Rows(0).Item("TheMe ssage")
& "<BR>OT: <A HREF=""mailto:"
& DSPageData.Tables("BDay").Rows(O).Item("SendersEmail") _
& """>"
& DSPageData.Tables("BDay").Rows(O).Item("SendersName") _
& "</A><BR><BR><A HREF=""./create_card.aspx"">" _
& "Создайте собственную открытку!</А>"
pnlCardl.Visible - True
pnlCard2.Visible - False
End If
End Sub
Необходимо убедиться в том, что идентификатор поздравительной открытки передан на данную страницу:
If Len(Request.QueryString("BirthdaylD")) = 0 Then
Если нет, пользователь перенаправляется на страницу Создание открытки:
Response.Redirect("create_card.aspx")
В противном случае из базы извлекаются данные таблицы Birthdays — по идентификатору, переданному на рассматриваемую страницу:
DBCommand = New OleDbDataAdapter _
("Select CardNumber, SendersName, SendersEmail, " _
& "RecipientsName, TheMessage From Birthdays " _
& "Where BirthdaylD = " _
& Request.QueryString("BirthdaylD"), DBConn)
Эти данные помещаются в объект DataSet:
DBCoiranand.Fill(DSPageData, _
"BDay")
Затем указывается путь к первому изображению в соответствии с номером поздравительной открытки, выбранной на странице Создание открытки. Обратите внимание на тот факт, что название изображения состоит из определенного текста и номера открытки:
imgButton.ImageUrl="./bday" _
& DSPageData.Tables("BDay").Rows(0).Item("CardNuiriber") _
& "a.gif"
Второе изображение определяется так же:
imgCard.ImageUrl»"./bday" _
S. DSPageData.Tables ("BDay") .Rows (0) .Item("CardNumber")
& "b.gif"
Далее имя получателя открытки включается в заголовок страницы:
lblTitle.Text="<CENTER>no3flpaBMTenbHaH открытка для:<ВЯ>" _
& DSPageData.Tables("BDay").Rows(O).ItemC'RecipientsName") _
& "</CENTER>";
Остальная информация, содержащаяся в поздравительной открытке, помещается в элемент управления Label с именем iblMessage. Затем первая панель отображается, а вторая — скрывается:
Вторая процедура выполняется, когда получатель открытки щелкает на первом изображении:
Sub SubmitPartl_Click(Sender As Object, E As ImageClickEventArgs)
pnlCardl.Visible = False
pnlCard2.Visible = True
End Sub
В этом коде задано отображение первой панели и удаление с экрана второй.Изменение кода для Access
Чтобы обеспечить выполнение рассмотренного кода при использовании приложения Access (а не SQL-сервера), необходимо изменить строку, в которой осуществляется подключение к базе данных SQL-сервера:
DBConn = New 01eDbConnection("Provider=sqloledb;"
& "server=localhost;" _
& "Initial Catalog=INETC14;" _
& "User Id=sa;" _
& "Password=yourpassword;")
Соединение должно устанавливаться с базой данных Access:
DBConn = New OleDbConnection("PROVIDER-Microsoft.Jet.OLEDB.4'.0;" _
& "DATA SOURCE=" _ :
& Server.MapPath("/INetBook/C14/birthdaycard/"
& "Access/Birthdays.mdb;"))
|