Поддержка сайта

Высокие позиции в поисковой системе, на прямую зависят от развития вашего сайта.

Продвижение сайтов

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

Создание сайтов

Мы делаем сайты быстро, недорого и профессионально. От работы с нами, у вас останутся только положительные эмоции.

Добавление и просмотр базовой информации о товарах

Кодирование уровней бизнес-правил и представления распадается на два этапа: сначала рассматривается статическая информация, общая для всех товаров, а затем — динамические атрибуты.

Работа с общими для всех товаров данными послужит хорошей практикой в структурировании информации о продуктах. Необходимо расширить объектную модель WroxCommerce на таблицы со сведениями о товарах и реализовать способы просмотра этих таблиц пользователями.

 

Расширение объектной модели

1. Вернитесь в VB-проект WroxCommerce и найдите объект Catalog. Добавьте в него метод AddProduct:

 Добавление и просмотр базовой информации о товарах

Метод AddProduct добавляет новый товар в таблицу Products. В параметрах метода мы предоставляем все необходимые общие элементы товара и оставляем разработчику возможность добавить URL-адрес изображения товара и описание этого товара.

2. Метод GetDepartments объекта Catalog возвращает сведения обо всех отделах магазина. Продублируйте этот код и охватите другие таблицы, связанные с таблицей Products.

Предлагаемый ниже код похож на код, поэтому воспользуйтесь для его создания операциями копирования и вставки!

3. Прежде всего добавьте в объект Catalog код, связанный с таблицей Products:

 Добавление и просмотр базовой информации о товарах

4. Для управления таблицей Products нужен код получения всех производителей из таблицы Mfrs, поэтому добавьте в объект Catalog:

 Добавление и просмотр базовой информации о товарах

Добавление и просмотр базовой информации о товарах

 

5. В объект Catalog нужно добавить код получения всех типов товаров из таблицы Types:

 Добавление и просмотр базовой информации о товарах

6. Наконец, добавьте в объект Catalog код, извлекающий сведения о поставщиках из таблицы Suppliers:

 Добавление и просмотр базовой информации о товарах

Описание работы

Метод AddProduct начинается с создания нового набора записей ADO, который ссылается на таблицу Products в текущем подключении. Метод AddNew (добавить новый набор записей) предоставляет набор записей для новой строки, вставляемой в ту таблицу, на которую мы ссылаемся в данный момент (в нашем случае — Products):

 Добавление и просмотр базовой информации о товарах

Сведения о товаре вводятся в набор записей в том порядке, в котором они будут извлекаться. Нужно отметить, что SQL Server не проводит физической записи строки в таблицу, пока не будет в явном виде вызван метод Update — до вызова метода изменения кэширу-ются:

 Добавление и просмотр базовой информации о товарах

Объявив основные сведения о товаре, можно перейти к дополнительным данным. Если нет надобности в специальном присвоении значений столбца новой строки, используются значения по умолчанию из описания таблицы. При отсутствии таковых устанавливается null. В нашем случае, например, если нет значения imageURL, в новой строке оно будет равно null:

If ImageURL о "" Then NewProduct("ImageURL") = ImageURL

If Description <> "" Then NewProduct("Description") = Description

Наконец, указывается самообновление набора записей, которое выполняется физической записью строки на диск. SQL Server автоматически присвоит значения всем идентификационным полям, а если поле объявляется первичным ключом (как в нашем упражнении), можно в этот момент извлечь новый идентификатор, запросив соответствующий набор записей. Именно это мы и делаем после обновления, возвращая из метода новый идентификатор:

NewProduct.Update

AddProduct = NewProduct("ProductID")

NewProduct.Close

Set NewProduct = Nothing

End Function

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

Сначала создаем функцию-примитив для запроса к таблице Products. Передаем в функцию имя представления vProducts, чтобы метод RunQuery для DB мог использовать это представление по умолчанию. Таким образом, применяя набор записей, возвращенный методом GetProducts, мы можем запросить результирующий набор записей по Mf rName, SalesContactEmail и т. д.

 Добавление и просмотр базовой информации о товарах

 

Добавление сведений о товарах средствами администрирования

Мы сформировали каркас средства администрирования и воспользовались им для ввода в базу данных сведений об отделах. Переделаем его для создания формы,  добавляющей в базу данных сведения о товарах.

Добавление товаров средствами уровня представления

1. В Visual InterDev откройте проект Jo’s Coffee, а затем страницу admin/default. asp. Добавьте в нее (в оператор Select Case) код построения формы для сбора сведений о новых товарах:

 Добавление и просмотр базовой информации о товарах

 Добавление и просмотр базовой информации о товарах

2. Эта страница будет использоваться и для трех остальных таблиц, поэтому нужно объявить еще три глобальные константы. Добавьте в site.asp:

 Добавление и просмотр базовой информации о товарах

3. Во вспомогательную функцию RenderSelect страницы site.asp добавьте:

 Добавление и просмотр базовой информации о товарах

Добавление и просмотр базовой информации о товарах

 

4. Чтобы можно было открыть форму добавления товара, нужно отредактировать страницу admin/default .asp. Введите код формирования пунктов меню:

 Добавление и просмотр базовой информации о товарах

5. Добавьте изображения товаров в каталог р.

6. Наконец, необходимо обеспечить сохранение сведений о товаре, вводимых на странице. В начало страницы admin/default. asp добавьте код, который проверяет попытку ввода нового отдела:

 Добавление и просмотр базовой информации о товарах

7. Проверьте работу формы, добавив новый товар. Прежде чем открыть

страницу администрирования, убедитесь, что в среде Visual Basic запущен проект WroxCommerce.

На странице администрирования введите сведения о кофеварке "эспрессо" Gaggia и нажмите кнопку Add Product (добавление товара):

 Добавление и просмотр базовой информации о товарах

Описание работы

Форма HTML для сбора сведений о новом товаре проста и не требует объяснений. Достаточно заметить, что создается общая таблица, каждая строка которой соответствует полям формы, обеспечивающим возможность редактирования названия, цены, описания и других характеристик товара. Дополнительно используется скрытое (HIDDEN) поле savenewproduct, позволяющее определить, будет ли создаваться новый товар при повторном запуске страницы. В теге FORM применяется серверная переменная Request ("scriptname") для создания страницы, вызывающей саму себя при нажатии кнопки подтверждения.

Страница ничего не делает с динамическими атрибутами. Работа с ними будет реализована в конечном коде ASP, представляющем товар посетителю сайта.

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

После щелчка мыши на кнопке Add Product проверяется существование скрытого поля savenewproduct и выясняется, была ли заполнена форма. Для упрощения примера кода исключена проверка существования всех необходимых полей и ввода допустимых значений в поля Price и Cost. Мы лишь вызываем метод AddProduct объекта Catalog. Метод I вставляет новую строку в таблицу Products (при наличии доступа к представлению I vProducts в SQL Server Enterprise Manager можно будет посмотреть, как новый продукт соотносится с выбранными поставщиком, производителем и типом).

 

Читайте так же:
Not found

Нам доверяют

Интернет магазин