
- •Создание структуры сайта Создание главной страницы
- •Подключение бд
- •Создание новостной ленты
- •Авторизация пользователя
- •Кодирование главной страницы
- •Создание панели навигации
- •Карта сайта
- •Наполнение сайта Создание новой страницы содержимого на основе MasterPage (Главной страницы).
- •Просмотр информации о товаре или услуге.
- •Создание страницы список выставок
- •Гостевая книга
- •Создание страницы регистрации
- •Продажа товара (услуги) – связь 1:м.
- •Продажа товара (услуги) – связь м:м.
- •Администрирование
- •Страница добавления картины
- •Редактирование списка товаров или услуг
Продажа товара (услуги) – связь 1:м.
Имеется следующая схема данных.
Данная операция доступна только авторизированным пользователям.
Для осуществления процедуры продажи картины потребуется создать три страницы содержимого.
Первая страница (page4.aspx) позволяет выполнять поиск картин.
Первая страница содержит следующие ЭУ
ЭУ DropDownList с именемTypeDropDownList |
|
ЭУ GridView1 |
|
Процедура фильтрации
Protected Sub DropDownList1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TypeDropDownList.TextChanged
'когда в поле со списком выбирается тип картины на сервер отправляется запрос на выборку данных
'создание запроса
AccessDataSource2.SelectCommand = "SELECT IDGood, Название, IDType, Цена , Год FROM Picture WHERE IDType=" & TypeDropDownList.SelectedValue
'создание класса, который передается в качестве параметра методу Select
Dim oArg As New System.Web.UI.DataSourceSelectArguments
AccessDataSource2.Select(oArg)
'связывание полученных данных с компонентом GridView при помощи метода DataBind
GridView1.DataBind()
End Sub
Процедура просмотра подробной информации о картине.
Protected Sub GridView1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.SelectedIndexChanged
' Вывод кода, выбранной картины
'MsgBox(GridView1.SelectedValue)
'Создание сессии
Session("IDGood") = GridView1.SelectedValue
'перенаправляем на страницу с подробной информацией
Response.Redirect("Page5.aspx")
End Sub
При нажатии на кнопку просмотреть открывается вторая страница (page5.aspx).
Код картины отправляется в сессию.
Страница в режиме Конструктора.
Страница имеет ЭУ Image для вывода изображения и DetailView для просмотра подробной информации. DetailView в качестве источника данных использует запрос Q_picture.
Процедура загрузки страницы.
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' получение кода картины из сессии
Dim IDPicture As Integer = Convert.ToInt32(Session("IDGood"))
'Заполнение ЭУ GridView
AccessDataSource1.SelectCommand = "SELECT * FROM Q_picture WHERE IDGood=" & IDPicture
'создание класса, который передается в качестве параметра методу Select
Dim oArg As New System.Web.UI.DataSourceSelectArguments
AccessDataSource1.Select(oArg)
'связывание полученных данных с компонентом GridView при помощи метода DataBind
DetailsView1.DataBind()
'=======================
'Отображение рисунка при помощи ЭУ 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
End Sub
Процедура продажи картины.
'продажа картины
Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click
'берем из сессии код картины и код пользователя
Dim IDPicture As Integer = Convert.ToInt32(Session("IDGood"))
Dim IDuser As Integer = Convert.ToInt32(Session("IDU"))
If IDuser = 0 Then
Me.Label6.Text = "Для офрмления заказа необходимо зарегистрироваться"
Exit Sub
End If
'MsgBox(IDuser)
Dim IDOrder As Long
Dim СтрокаПодкл As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("Web.mdb")
' Создание экземпляра объекта Connection:
Dim CONNECTION = New OleDbConnection(СтрокаПодкл)
CONNECTION.Open()
Dim SQL_запрос As String
Dim COMMAND As New OleDbCommand
' ДОБАВЛЕНИЕ ЗАПИСИ О картине в БД:
' Строка SQL-запроса:
Dim s1 As String, s2 As String
' INSERT INTO Sale ( IDGood, iduser )Values (4,1);
SQL_запрос = "INSERT INTO Sale (IDGood, iduser ) VALUES (" & IDPicture & "," & IDuser & ")"
'Response.Write("<br><br> " & SQL_запрос)
' Создание объекта Command с заданием SQL-запроса: datetime
COMMAND.CommandText = SQL_запрос
' Для добавления записи в БД эта команда обязательна:
COMMAND.Connection = CONNECTION
COMMAND.ExecuteNonQuery()
'Response.Write("<br><br> Продано")
Me.Label6.Text = "Картина продана"
'=====================
SQL_запрос = "SELECT IDDogov FROM Sale WHERE iduser=" & IDuser & " ORDER BY IDDogov DESC"
' Создание объекта Command с заданием SQL-запроса:
'SELECT IDDogov FROM Sale WHERE iduser=1 ORDER BY IDDogov DESC;
COMMAND.CommandText = SQL_запрос
COMMAND.Connection = CONNECTION
Dim DATAREADER As OleDbDataReader
DATAREADER = COMMAND.ExecuteReader
If DATAREADER.Read = True Then
'определение значения поля
IDOrder = DATAREADER.GetValue(0)
End If
'===================
Me.Label6.Text = "Картина продана номер заказа " & IDOrder
CONNECTION.Close()
'помещаем в сессию номер договора и переходим на страницу подробная инф о заказе
Session.Add("IDOrder", IDOrder)
Response.Redirect("Page6.aspx")
End Sub
Кнопка <Купить> доступна только авторизированным пользователям. После успешной покупке отображается страница с подробной информацией о покупке(page6.aspx).
Процедура загрузки страницы
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
' получение кода договора(заказа) из сессии
Dim IDOrder As Integer = Convert.ToInt32(Session("IDOrder"))
Dim SQL_Select As String
'Заполнение ЭУ GridView
SQL_Select = "SELECT * FROM Q_Order WHERE IDDogov=" & IDOrder
' MsgBox(SQL_Select)
AccessDataSource1.SelectCommand = SQL_Select
'создание класса, который передается в качестве параметра методу Select
Dim oArg As New System.Web.UI.DataSourceSelectArguments
AccessDataSource1.Select(oArg)
'связывание полученных данных с компонентом GridView при помощи метода DataBind
DetailsView1.DataBind()
'=======================
'Отображение рисунка при помощи ЭУ 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 Q_Order1 WHERE (IDDogov =" & IDOrder & " )"
' Создание объекта 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
End Sub