Мегаобучалка Главная | О нас | Обратная связь  


Создание страницы список выставок




Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

Имеется следующая схема данных

Обратите внимание, таблица Выставка (Exhibition) и таблица Картина (Picture) связаны при помощи таблицы Exhibition_picture, реализующей связь M:M.

Структура таблицы Picture

Необходимо создать страницу, позволяющую просматривать список выставок, список картин на выставке и подробную информацию о картине, включая ее изображение.

 

Для отображения информации о выставке будем использовать ЭУ список ListBox. Так как список и поле со списком могут отображать только содержимое одного поля необходимо создать запрос под именем Q_exhibition.

Далее создадим запрос под именем Q_exhibition_picture,объединяющий несколько таблиц.

Запрос Q_picture для вывода подробной информации о картине.

Создайте новую страницу содержимого.

Для удобства расположения элементов на странице создайте таблицу из 3-х строк и 2 –х столбцов.

Первая строка таблицы будет содержать заголовки.

<table>

<tr><td><h2>Список выставок</h2></td><td><h2>Картины на выставке</h2></td></tr>

В первой ячейке второй строки расположите ЭУ список ListBox с именем ListBox1 для вывода списка выставок.

Во второй ячейке второй строки расположите ЭУ GridView с именем GridView2 для вывода списка картин на выставке.



В первой ячейке третьей строки расположите ЭУ DetailsView с именем DetailsView1 для отображения подробной информации о картине.

И наконец во второй ячейке третьей строки расположите ЭУ Imageс именемImage1 для отображения изображения картины.

Страница в режиме Конструктора

К ЭУ ListBox1подключите, созданный ранее запрос Q_exhibition.Настройте в соответствии с рисунком свойства списка.

К ЭУ GridView2подключите, созданный ранее запрос Q_exhibition_picture.Поля IDpicture и IDexhibition спрячьте с вывода на экран.

Теперь самое главное, так как таблица, на основе которой был создан запрос иметь составной первичный ключ необходимо установить свойство DataKeyNames ЭУ GridView2, выбрав поле IDpicture.Если это не выполнить, то будет невозможно отобразить подробную информацию о картине.

Самостоятельно добавьте кнопку выбора и отредактируйте текст.

К ЭУ DetailsView1привяжите запрос Q_picture.

Кодирование страницы

Добавьте библиотеку для работы с БД.

При загрузке страницы часть ЭУ не видны.

Выделение строки в списке.

Выбор картины

Protected Sub GridView2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView2.SelectedIndexChanged

Dim crit As String

crit = "SELECT * FROM [Q_Picture] WHERE IDGood=" & GridView2.SelectedValue

'MsgBox(crit)

AccessDataSource3.SelectCommand = crit

'создание класса, который передается в качестве параметра методу Select

Dim oArg As New System.Web.UI.DataSourceSelectArguments

AccessDataSource3.Select(oArg)

'связывание полученных данных с компонентом GridView при помощи метода DataBind

DetailsView1.DataBind()

Me.DetailsView1.Visible = True

' получение кода картины

Dim IDPicture As Integer = GridView2.SelectedValue

'Отображение рисунка при помощи ЭУ Image

Dim myphoto As String

' Строка подключения:

Dim СтрокаПодкл As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Web.mdb")

' Создание экземпляра объекта Connection

Dim CONNECTION = New OleDbConnection(СтрокаПодкл)

CONNECTION.Open()

' Строка SQL-запроса для проверки имени и пароля:

Dim SQL_запрос As String = "SELECT Фото FROM Picture WHERE (idgood =" & IDPicture & " )"

' Создание объекта Command с заданием SQL-запроса:

Dim COMMAND As New OleDbCommand

COMMAND.CommandText = SQL_запрос

COMMAND.Connection = CONNECTION

 

Dim DATAREADER As OleDbDataReader

DATAREADER = COMMAND.ExecuteReader

 

If DATAREADER.Read = True Then

'определение значения поля

myphoto = DATAREADER.GetValue(0)

End If

 

CONNECTION.Close()

 

Me.Image1.ImageUrl = myphoto

Me.Image1.Visible = True

 

End Sub

 

Гостевая книга

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

 

Для создания данной страны потребуется таблица Book, имеющая следующую структуру

 

Создайте новую страницу содержимого.

Расположите на странице два текстовых поля и две надписи. Для отображения данных Вам потребуется ЭУ GridView , находящийся на панели ToolBox в разделе Data. Можно добавить валидаторы для проверки факта ввода данных в поля.

Ключевое поле (IDBook) спрячьте с вывода на экран. Измените подписи полей, выводимых на страницу.

Примечание. Страница будет смотреться намного лучше, если заранее создать запрос. Пример запроса смотри в разделе создания новостной ленты.

Программный код

Imports System.Data.OleDb

Partial Class Book

Inherits System.Web.UI.Page

 

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

If IsPostBack = False Or IsValid = False Then Exit Sub

' Здесь можно записать введенные пользователем

' сведения в базу данных.

' Строка подключения:

Dim СтрокаПодкл As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Web.mdb")

' Создание экземпляра объекта Connection:

Dim CONNECTION = New OleDbConnection(СтрокаПодкл)

Try ' Открытие подключения:

CONNECTION.Open()

Catch ex2 As Exception

Response.Write("<br><br>" & ex2.Message)

End Try

 

Dim SQL_запрос As String

Dim COMMAND As New OleDbCommand

 

' ДОБАВЛЕНИЕ ЗАПИСИ О ПОЛЬЗОВАТЕЛЕ В БД:

 

' Строка SQL-запроса:

SQL_запрос = "INSERT INTO Book (Guest, Book_page, book_date) VALUES ('" & TextBox1.Text & "', '" & TextBox2.Text & "', '" & DateTime.Now.Date & "')"

 

' Создание объекта Command с заданием SQL-запроса: datetime

COMMAND.CommandText = SQL_запрос

' Для добавления записи в БД эта команда обязательна:

COMMAND.Connection = CONNECTION

 

Try ' Выполнение команды SQL, то есть ЗАПИСЬ В БД:

COMMAND.ExecuteNonQuery()

'Response.Write("<br><br>В таблицу БД посещений добавлена запись")

 

Catch ex3 As Exception

Response.Write("<br><br>" & ex3.Message)

End Try

 

CONNECTION.Close()

' Перенаправление на уже разрешенную страницу:

Response.Redirect("book.aspx")

 

End Sub

End Class

 




Читайте также:
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...
Почему люди поддаются рекламе?: Только не надо искать ответы в качестве или количестве рекламы...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (320)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.018 сек.)
Поможем в написании
> Курсовые, контрольные, дипломные и другие работы со скидкой до 25%
3 569 лучших специалисов, готовы оказать помощь 24/7