Создание Web-форм для представления и обработки информации базы данных в среде Microsoft Visual Studio 2005

 

Цель работы: изучить особенности работы с базами данных и получить практические навыки создания WEB-форм по представлению и обработке информации баз данных. Для этого необходимо рассмотреть и изучить следующие вопросы:

– создание базы данных и подключения;

– отображение информации из базы данных;

– управление базой данных.

Постановка задания: в среде Microsoft Visual Studio 2005 создать Web-приложение «Зодиак», реализующего работу с базой данных по средствам WEB-форм. Для выполнения задания не обходимо :

Создать базу данных "Зодиак" со следующими таблицами:

Анкета (содержит личные данные о пользователе сайта);

Описание знаков (содержит краткую характеристику знака зодиака);

Прогноз (содержит прогноз для каждого знака зодиака на конкретную дату.)

Сделать следующие формы для каждой таблицы базы данных:

Анкета

Описание знаков

Прогноз

и ввести с их помощью несколько записей во все таблицы базы даннях.

Теоретические сведения:

Любое Web-приложение только выиграет, если будет предоставлять возможность сохранения информации нужной для взаимодействия с пользователем. Как правило, такая информация хранится в базе данных и отображается на Web-странице по соответствующему запросу. Этот механизм позволяет создать поисковые системы, системы электронной коммерции, различные социальные сервисы.

Среда Microsoft Visual Studio 2005 позволяет очень просто создавать Web-приложения, которые работают с базами данных. Во многих случаях не потребуется написать даже строчку кода, потому что среда Microsoft Visual Studio 2005 включает мощные интегрированные, и удобные в работе инструменты для взаимодействия с Microsoft SQL Server.

 

Работа с базами данных. Создание базы данных и подключения

 

Чтобы использовать базу данных совместно с Microsoft Visual Studio 2005, нужно сначала сконфигурировать подключение, в Database Explorer, которое указывает на необходимую базу данных.

Каждое подключение соответствует только одной базе, но это не является ограничением, так как можно сконфигурировать столько подключений, сколько баз необходимо использовать.

Создание, изменение и удаление подключений баз данных производится через Database Explorer. Это – окно Visual Studio, которое обычно используется совместно с Solution Explorer. (см. рис.1)

Рисунок 1 –Окно Database Explorer

 

Чтобы переключиться между Solution Explorer и Database Explorer, нужно щелкнуть по одной из вкладок вдоль нижнего края окна. Если ни окно Database Explorer, ни вкладка Database Explorer не видимы, то нужно выбрать Database Explorer из меню View.

Для соединения с существующей базой даннях, необходимо выполнить следующие шаги:

1. запустить Microsoft Visual Studio 2005, открыть Web site и активизировать окно Database Explorer;

2. в окне Database Explorer щелкните правой кнопкой мыши по надписи Data Connections и выбрать Add Connection из контекстного меню;

3. в диалоговом окне Add Connection, как показано на рисунке 2, из списка Data Source выбрать тот пункт, что описывает необходимую базу данных.

Рисунок 2 – Диалоговое окно Add Connection

 

Чтобы изменить Data provider, установленный по умолчанию для данного типа базы данных, щелкните по кнопке Change. Появится диалоговое окно Change Data Source (рис.3). Теперь выбрать источник данных, а затем выбрать Data provider, выбрав Always use this selection. Чтобы сохранить изменения и закрыть диалоговое окно Change Data Source, щелкните на кнопку OK.

 

Рисунок 3 – Окно Change Data Source

 

4. Когда управление перейдет к диалоговому окну Add Connection, проверьте поле Data Source.

– если поле Data Source ссылается на нужный вам тип базы данных, переходите к следующему шагу;

– иначе, щелкните на кнопку Change и вернитесь к шагу 3.

 

Вид диалогового окна Add Connection изменяется в зависимости от типа базы данных. Однако, область Data Source всегда на нем присутствует в его верхней части. Задайте необходимые параметры подключения в диалоговом окне Add Connection и щелкните кнопкой OK.

Microsoft Visual Studio 2005 может подключаться и управлять базами данных Microsoft SQL Server. Кроме того, реализована возможность подключаться и управлять следующими базами данных:

– базы данных Microsoft Access;

– базы данных Oracle (если и Oracle и драйверы базы данных Microsoft установлены);

– любые базы данных, для которых есть ODBC или OLE-DB драйверы.

Далее рассмотрим стандартные действия для подключения к SQL серверу, которые нужно выполнить с помощью диалогового окна Add Connection:

1. В поле Server Name, ввести имя сервера и, в случае необходимости, название раздела, где SQL сервер хранит базу данных. Имя сервера также можно задать, щелкнув по стрелке раскрывающегося меню поля Server Name. В меню будут перечислены имена компьютеров, на которых имеются SQL серверы.

Необходимо выбрать название, соответствующее экспресс версии SQL сервера, установленного на Вашем компьютере. В этом случае имя сервера, скорее всего, будет совпадать с именем вашего компьютера (например, STORM), а имя раздела будет называться SQLEXPRESS. Таким образом, в поле Server Name появится STORM\SQLEXPRESS.

 

2. Выберите тип аутентификации для SQL сервера, воспользовавшись одним из двух доступных методов:

Use Windows Authentification. Использует Ваш текущий логин и пароль, которые вы вводили для входа в операционную систему Microsoft Windows, для соединения с SQL сервером. Этот метод рекомендуется использовать, если SQL сервер установлен на локальном компьютере.

Use SQL Server Authentification. Для подключения к SQL серверу используются имя пользователя и пароль, определенные на самом SQL сервере. Если выбран этот метод, то нужно ввести имя пользователя SQL сервера и пароль, которые имеют необходимые привилегии для работы с базами данных. Как правило, получить имена и пароли можно у администратора базы данных, который управляет именами и паролями для доступа к SQL серверу.

 

3. Определить, какую базу данных будет использовать ваше подключение.

Если база данных уже присоединена к SQL серверу, введите ее имя или выберите ее из списка в поле Select or enter a database name.

 

4. Если база данных находится в .mdf файле и еще не присоединена к SQL серверу, то необходимо:

– определите имя .mdf файла в поле Attach a database file. Для этого можно просто напечатать путь и имя файла или щелкнуть на кнопку Browse, определить местонахождение файла, и затем щелкнуть на кнопку Open.

– в поле Logical Name, напечатайте краткое название, которое описывает присоединяемую базу данных. Это название будет использоваться в командах SQL и коде создаваемой программы.

5. Чтобы проверить правильность всех настроек, щелкните на кнопку Test Connection в нижнем левом углу диалогового окна. Если ваши настройки правильны, Microsoft Visual Studio 2005 отобразит сообщение "Test connection succeesed", в противном случае вернитесь к началу и отредактируйте настройки.

6. Щелкните на кнопку OK, чтобы создать подключение.

 

Новое подключение должно появиться немедленно в окне Database Explorer. Теперь можно работать с содержимым базы данных.

Перечислим некоторые приемы такой работы:

– щелкнув на значке Плюс (+), предшествующем названию созданного подключения, отображается список типов объектов, которые содержит база данных: Tables, Views, Stored Procedures и другие.

– щелкнув на значке Плюс (+), который предшествует типу объекта, отображается список объектов этого типа. Например, щелкнув на значок Плюс (+) перед пунктом Tables, отображается список таблиц.

– щелкнув на значок Плюс (+), который предшествует таблице, отображается список ее полей и т.д..

 

Физически, базы данных SQL сервера находятся в двух файлах: главный файл имеет расширение .mdf, а файл журнала расширение .ldf. Эти файлы могут находиться в любом месте файловой системы компьютера, на котором выполняется SQL сервер, но есть стандартные места их расположения:

– для базы данных, которую будет использовать Web-приложение, самое удобное место это папка App_Data в каталоге самого приложения. Этот подход существенно упрощает публикацию базы данных.

– для базы данных, которую будут использовать несколько Web-приложений, лучше выбрать стандартное хранилище данных SQL сервера. Как правило, это папка называется C:\Program Files\Microsoft SQL Server\MSSQL.l\MSSQL\Data

В дальнейшем будем использовать базу данных SQL сервера по имени Зодиак.mdf, которая будет находиться в стандартной папке App_Data.

Чтобы создать новую базу данных для Web-приложения, необходимо выполнить следующие действия:

– открыть Web-приложение;

– выбрать пункт New File из меню File;

– в диалоговом окне Add New Item, выбрать шаблон SQL Database;

– в поле Name, напечатать Зодиак.mdf

– щелкнуть на кнопку Add. Если появится следующее сообщение (рис.4), то щелкните на кнопку Yes. Microsoft Visual Studio 2005 создаст базу данных

Рисунок 4 – Предложение разместить, создаваемую базу данных в стандартном каталоге App_Data

 

Когда база данных создана, вы можете с помощью Microsoft Visual Studio 2005 создавать, изменять, и удалять в ней таблицы. Например, чтобы создать Таблицу "Анкета" в базе данных "Зодиак", нужно выполнить следующие действия:

1. В окне Database Explorer, выбрать значок Плюс (+) рядом с подключением базы данных Зодиак, которое было создано ранее. Щелкнуть правой кнопкой мыши по разделу Tables, и выбрать пункт Add New Table из контекстного меню.

2. Microsoft Visual Studio 2005 отобразит таблицу со стандартным именем Table1 в режиме конструктора. Теперь необходимо задать для новой таблицы поля и их описания.

Чтобы задать первое поле, выполните следующие действия:

– установите курсор в первой строке окна Table Designer в поле, расположенное прямо под надписью Column Name;

– введите название id_анкета и нажмите клавишу Tab;

– в столбце Data Type, выберите Int из всплывающего списка и нажмите клавишу Tab;

– уберите флажок в столбце Allow Nulls;

– во вкладке Column Properties внизу окна, найдите раздел Identity Specification, нажмите значок Плюс (+), чтобы раскрыть этот раздел, и установите значение Yes для свойства Is Identity (рис.5);

– щелкните правой кнопкой мыши по строке id_анкета и выберите пункт Set Primary Key из контекстного меню

 

Рисунок 5 – Определение полей базы данных

 

Установка значение Yes для свойства Is Identity для поля id_анкета сообщает SQL серверу, что каждый раз при добавлении новой записи в таблицу это поле должно принимать уникальное значение. Если выделено одно или несколько полей таблицы, щелкнув по выделению правой кнопкой мыши, выбрав Set Primary Key из контекстного меню, то SQL сервер будет обрабатывать эти поля для идентификации записей таблицы.

 

3. Когда заданы все свойства текущего поля, обратите внимание на то, что снизу появилась пустая строка, в которой можно создать новое поле. Таким образом, переходя от строки к строке, можно задать все поля и их свойства (табл.1)

 

Таблица 1 – Перечень полей таблицы "Анкета"

Column name Data Type Allow Nulls Identity Primary Key
id_анкета int Unchecked Да Да
ФИО nvarchar(60) Checked    
[дата рождения] smalldatetime Unchecked    
телефон nvarchar(15) Checked    
[электронный адрес] nvarchar(50) Checked    
доход smallmoney Checked    
знак int Unchecked    

 

4. Выбрав пункт Save Tablen из меню File, где n – целое число, которое Microsoft Visual Studio 2005 назначает каждой вновь создаваемой таблице. Когда появится диалоговое окно Choose Name (рис.6), необходимо ввести название таблицы, например, "Анкета", а затем щелкните на кнопку OK.

 

Рисунок 6 – Окно сохранения новой таблицы

 

Чтобы добавить, изменить или удалить поля в существующей таблице, щелкните правой кнопкой мыши по таблице в окне Database Explorer и затем выберите пункт Open Table Definition из выпадающего меню. Это действие отобразит перечень полей выбранной таблицы (рис.5).

Чтобы удалить таблицу, щелкните по ней правой кнопкой мыши в окне Database Explorer и выберите пункт Delete. Это действие удалит и определение таблицы, и все данные, которые она содержит.

Чтобы просмотреть данные, содержащиеся в таблице, щелкните правой кнопкой мыши по названию таблицы в Database Explorer и выберите пункт Show Table Data в выпадающем меню. В результате отобразится окно Query Designer, где будут отображены данные. Как показано на рисунке 7, окно Query Designer содержит четыре области: Results, SQL, Criteria, Diagram

Рисунок 7 – Просмотр содержимого таблицы

 

При запуске Query Designer выполняет очень простой запрос, результаты которого походят на электронную таблицу и отображаются в области Results, которую можно использовать ее для изменения, добавления, или удаления данных:

Чтобы изменить значение любой ячейки, выберите ее и напечатайте новое значение.

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

Чтобы удалить запись, выберите ее и нажмите клавишу Del.

Microsoft Visual Studio 2005 немедленно вставляет, обновляет или удаляет текущую запись всякий раз, когда вы нажимаете ENTER, Del или переходите к другой записи. Поэтому нет никакой надобности в дополнительном сохранении внесенных изменений.

Если необходимо быстро просмотреть данные и, возможно сделать несколько исправлений, то рассмотренной выше области Results вполне достаточно для этого. Однако, необходимо выполнить более сложные операции нужно задействовать другие области окна Query Designer. Чтобы отобразить любую из этих областей, необходимо:

– щелкнуть правой кнопкой мыши по окну Query Designer, выбрать Pane из контекстного меню.

Выберите область окна, которую нужно отобразить или скрывать. Каждая область выполняет свои задачи, вот краткое описание каждой из них:

– Diagram – отображает маленькое окно для каждой таблицы, включенной в запрос. Флажки указывают области, предназначенные для вывода, и значки AZ указывают порядок сортировки.

Чтобы добавить таблицу к диаграмме (и следовательно к запросу) перетащите ее из окна Database Explorer и поместите ее на область Diagram.

Чтобы соединить пару таблиц (то есть, получить отчеты, основанные на значениях данных из обеих таблиц) перетащите нужное поле из одной таблицы и поместите его на соответствующее поле в другой таблице.

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

Criteria – отображает в табличном и доступном для редактирования виде представление полей из всех таблиц, включенных в запрос. SQL отображает SQL команды, которые автоматически генерируются в соответствии с запросом.

Всякий раз, когда обновляется одна из областей окна Query Designer: SQL, Criteria или Diagram, Microsoft Visual Studio 2005 обновит и две другие области окна. Если, например, Вы измените область окна SQL, то Visual Studio 2005 обновит область Diagram и область окна Criteria соответственно.

– Results – отображает результаты выполнения запроса. Запрос, который выполняется по умолчанию, когда выбрана команда Show Table Data, имеет вид: SELECT * FROM <названия таблицы>

Если используются области Diagram, Criteria или SQL, чтобы изменить этот запрос, то область окна Results не отобразит сделанных изменений до тех пор, пока не будет выполнено одно из двух действий:

– выберите пункт Execute SQL из меню Query Designer,

или

– щелкнув правой кнопкой мыши по окну Query Designer, выберите пункт Execute SQL из контекстного меню.

Microsoft Visual Studio 2005 может соединить Web-приложение с существующими базами данных. Среда позволяет также создать новую базу данных и соединиться с ней. Обычно базы данных размещаются в папке App_Data. Microsoft Visual Studio 2005 может также создать, изменять и обновлять таблицы базы данных.

 

Отображение информации из базы данных

 

Для отображения содержимого из базы данных на Web-странице Microsoft Visual Studio 2005 использует три вида компонентов:

Data Connection, обеспечивает доступ к базам данных.

Data Source использует Data Connection для того чтобы искать, вставлять, обновлять и удалять записи в базе данных, ничего не показывая пользователю.

Data Bound Controls показывает информацию из базы данных, используя Data Source.

Чтобы оценить легкость работы по созданию приложений баз данных с использованием Microsoft Visual Studio 2005, выполним следующую процедуру:

– в окне Database Explorer, раскройте любое существующее подключение Data Connection и найдите таблицу или запрос, который нужно отобразить в Web-странице.

– откройте Web-страницу в Режиме конструктора. Перетащите таблицу или запрос из Database Explorer и поместите его на открытую страницу ( рис.8), это действие добавляет два элемента управления к Web-странице: SqIDataSource – управляет источником данных и GridView – отображает в табличном виде информацию из базы данных. GridView – один из самых популярных и полезных элементов управления данными. Microsoft Visual Studio 2005 автоматически связывает элемент GridView и источник данных.

Рисунок 8 – Использование элемента управления GridView

 

Вы также можете создать источник данных, перетаскивая значок SqlDataSource из группы Toolbox's Data и помещая его на страницу. Табл.2 описывает некоторые элементы управления данными.

 

Таблица 2 – Элементы управления данными

Элементы управления данными
Управление Описание
SqIDataSource Производит поиск и обновление информации в базах данных Microsoft SQL сервера.
AccessDataSource Производит поиск и обновление информации в базах данных Microsoft Access.
ObjectDataSource Производит поиск и обновление информации через бизнес объекты.
XmlDataSource Служит для работы с информацией, содержащейся в XML файлах.
SiteMapDataSource Обрабатывает информацию, содержащуюся в файле карты сайта.

 

Когда источник данных создается путем перетаскивания таблицы или запроса из Database Explorer, то формируемый отчет показывает записи без сортировки. Чтобы изменить настройки отчета, созданные по умолчанию, нужно выполнить следующие действия:

Выделите элемент SqIDataSource, щелкните по нему правой кнопкой мыши и из выпадающего меню выберите пункт Configure Data Source

 

Рисунок 9 – Выбор подключения

 

Когда диалоговое окно Choose Your Data Connection (рис.8), появится, необходимо использовать раскрывающийся список, чтобы выбрать нужную строку подключения, или щелкнуть на кнопку New Connection, чтобы создать новую строку подключения данных.

Чтобы отобразить содержимое строки подключения источника данных нужно нажать на значок Плюс (+), который предшествует надписи Connection String.

Рисунок 10 – Выбор полей из таблицы

Нажмите кнопку Next, чтобы перейти к окну Configure The Select Statement (Рис.9.). Для составления простых запросов выберите пункт Specify columns from a table or view, задайте следующие параметры настройки:

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

– Columns – отметьте флажком, те поля которые нужно включить в отчет. Чтобы отметить все поля, пометьте флажком поле звездочка (*).

– Return Only Unique Rows –этот флажок нужен, если две или более записей имеют одинаковые значения полей, а нужно показать только одну из них.

– WHERE – нажав эту кнопку откроется окно Add WHERE, где можете задать условия для отбора записей.

ORDER BY – нажав эту кнопку вы откроете окно Add ORDER BY, где можете определить поля участвующие в сортировке данных

Advanced – нажав эту кнопку, вы откроете окно Advansed SQL Generation Options. Если хотите использовать источник данных для обновления записей, установите этот флажок напротив опции Generate INSERT, UPDATE and DELETE statements. В результате будут сгенерированы операторы для вставки, обновления и удаления записей (INSERT, UPDATE, DELETE). Другая опция называется Use optimistic concurrency. Используйте ее, если ожидается высокая нагрузка на создаваемый вами ресурс.

Если эти опции не удовлетворили ваши запросы, то можно выбрать пункт Specify a custom SQL statement or stored procedure в том же диалоговом окне (рис.10).

Если выбран пункт Specify a custom SQL statement or stored procedure на предыдущем шаге, то нажмите кнопку Next. В результате отобразится диалоговое окно Define Custom Statements or Stored Procedures (рис.11).

Рисунок 11 – Составление собственных SQL операторов

Чтобы определить собственные операторы SELECT, UPDATE, INSERT или DELETE, выберите вкладку соответствующую нужному оператору и затем нажмите на кнопку Query Builder. В результате отобразится конструктор запросов (рис.7), с помощью которого можно создать SQL запрос и даже проверить его работу, нажав на кнопку Execute Query. Если проверка прошла успешно, нажмите на кнопку OK.

Нажмите кнопку Next. Отобразится диалоговое окно Test Query (рис.12), Нажмите кнопку Test Query и убедитесь, что на экране появились нужные вам данные. Если все правильно нажмите кнопку Finish. В противном случае нажмите кнопку Previous и внесите нужные изменения.

Рисунок 12 – Тестирование запроса

Многие элементы управления, размещаемые на Web-страницах, могут связываться с источниками данных. Например, чтобы заполнить элемент DropDownList значениями полей таблицы базы данных, нужно задать следующие три свойства:

DataSourceID – имя источника данных, которое указывает на таблицу или запрос с необходимой информацией;

DataTextField – имя поля, значения которого будут отображаться при работе пользователя с элементом DropDownList. Обычно эти значения относятся к строковому типу.

DataValueField – имя поля, значения которого будут возвращаться элементом DropDownList. Обычно эти значения относятся к целому типу.

Часто бывает необходимо отобразить несколько полей для каждой записи таблицы в одном элементе управления с возможностью их непосредственного обновления. Таким требованиям удовлетворяют элементы, перечисленные в таблице 3.

Из перечисленных в таблице 3 элементов управления, связанных с отображением данных, элементы GridView, DetailsView и FormView наиболее удобны в использовании.

 

Таблица 3 – Связанные устройства отображения данных

Связанные устройства отображения данных
Элемент управления Описание Поддержка способ обновления данных Присутствует в версии ASP
GridView Отображает данные в табличном виде Update, Delete 2.0
DetailsView Отображает поля записи из источника данных в виде HTML таблицы, каждая строка корой соответствует полю записи Insert, Update, Delete 2.0
FormView Отображает отдельные записи из источника данных, но вместо отдельных ячеек строк он использует заданные пользователем шаблоны Insert, Update, Delete 2.0
Repeater Предоставляет гибкий и удобный механизм отображения повторяющихся списков элементов. Дополнительный код 1.0
DataList Похожи на элементы управления Repeater, но обладают дополнительными возможностями: они поддерживают форматирование по колонкам, а также выбор и редактирование элементов Дополнительный код 1.0
         

 

Процесс конфигурации этих элементов почти одинаков для каждого из них. Покажем его на примере конфигурирования элемента управления GridView.

Будем использовать элемент управления GridView для создания страницы Анкетных данных пользователей системы "Зодиак" (рис. 13). На рисунке отображается страница, которая оформлена с использованием уже известных элементов: меню, темы и строки перемещения. Обратите внимание на таблицу содержащую сведения о пользователях из таблицы "Анкета" – это и есть элемент управления GridView.

Рисунок 13 – Страница анкетных данных пользователей системы "Зодиак"

 

Чтобы создать Web-станицу, содержащую GridView, необходимо произвести следующие действия:

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

– добавить элемент управления GridView и SqIDataSource к странице, для этого вы можете использовать любой из вариантов:

- перетащить таблицу "Анкета" из окна Database Explorer и поместите ее на вашу страницу;

- Перетащить элемент управления GridView и SqIDataSource из группы Data панели Toolbox на открытую Web-страницу.

– открыть меню задач элемента управления SqIDataSource и выбрать в нем пункт Configure Data Source.

– в появившемся окне Choose Your Data Connection, выбрать или создать подключение к базе данных "Зодиак", а затем нажать кнопку Next.

– в диалоговом окне Configure The Select Statement, выбрать таблицу "Анкета", а в ней поля ФИО, дата рождения, телефон, электронный адрес, доход.

– нажать кнопку WHERE, когда появится диалоговое окно Add WHERE и определить значения следующих полей: Column (доход), Operator (>= ), Source (none), Value (10000);

– нажать кнопку Add (рис.14). В результате получим запрос, показывающий только записи, в которых Column (доход) больше или равен 10.000

 

Рисунок 14 – Задание условия на отбор записей

 

– нажмите кнопку OK, чтобы закрыть окно Add WHERE, затем нажмите кнопку ORDER BY в окне Configure The Select Statement;

– в появившемся диалоговом окне Add ORDER BY, определить значение поля Sort by равное ФИО, а затем нажмите кнопку OK. В результате будет установлена сортировка ваших записей по полю ФИО.

– нажмите последовательно кнопки Next, Test Query и Finish, чтобы закончить работу Мастера.

Конфигурирование элемента управления SqIDataSource завершено, теперь нужно закончить конфигурирование элемента управления GridView, для этого выполнить следующие действия:

– открыть меню задач элемента управления GridView и удостоверьтесь, что поле Choose Data Source указывает на тот источник данных, который вы только что сконфигурировали.

– установите флажки напротив следующих опций:

- Enable Paging – разбивает весь отчет на страницы, содержащие заданное число записей. Внизу отчета появляются номера страниц, которые можно использовать для просмотра записей;

- Enable Sorting – сортирует записи, показанные на Web-странице, для этого достаточно щелкнуть по оглавлению нужного столбца.

– из меню задач выбрать пункт Edit Columns. Появится диалоговое окно Fields (рис.15). Используйте область Selected Fields и связанные с ним кнопки-стрелки "вверх" и "вниз", чтобы задать порядок следования полей в отчете: ФИО, дата_рождения, телефон, электронный_адрес, доход.

 

Рисунок 15 – Определение полей и их порядка следования в отчете

 

– выбрать поле ФИО в области Selected Fields, а затем, используя область BoundField Properties, задайте свойства, перечисленные в таблице4. Повторите эту процедуру для остальных полей;

– нажмите на кнопку OK, чтобы закрыть диалоговое окно Fields. Сохраните страницу и просмотрите ее в браузере.

 

Таблица 4 – Список в недавно-отобранной категории

Список в недавно-отобранной категории
Свойство Поле
DataField ФИО Дата_рождения телефон Электронный_адрес доход
HeaderText Фамилия Имя Отчество Дата рождения Контактный телефон Электронный адрес Годовой доход
Element Style: HorizontalAlign Left Right Right Right Right

 

Мы убедились, что с помощью Microsoft Visual Studio 2005 можно создавать привлекательные Web-страницы, которые отображают информацию из базы данных различными способами. Все это можно сделать, не написав ни строчки кода, а только используя компоненты: Data Connection, Data Source и Data Bound Controls.

 

Управление базой данных

 

Чтобы иметь возможность просматривать информацию, хранящуюся в базе данных ее туда должен кто-то ввести. Ввод информации в базу данных можно осуществлять с помощью уже известных элементов управления GridView и DetailsView, в которых нужно включить соответствующие опции. Тогда элемент GridView позволяет обновлять или удалять записи, а элемент управления DetailsView можно использовать для добавления записей. Обратите внимание, на рисунке 16, где показан элемент управления GridView, для каждой записи имеются две ссылки: "правка" и "удалить".

"Правка" – использует формы HTML для отображения каждого поля записи, значения которых можно менять, а затем, щелкнув по кнопке "Обновить" – сохранить изменения, или нажав кнопку "Отменить" – отказаться от них. "Удалить" – удаляет соответствующую запись.

"Выбор" – отмечает соответствующую запись как текущую.

 

Рисунок 16 – Использование элемента управления GridView для обновления данных

 

Покажем, как настроить элемент управления GridView для обновления и удаления записей.

Проверьте, имеет ли таблица базы данных первичный ключ. Для этого, щелкните правой кнопкой мыши по таблице в Database Explorer, и выберите пункт Open Table Definition. Убедитесь в том, что хотя бы одно поле объявлено первичным ключом (рис.17), если это не так, то выберите поле, которое может служить первичным ключом, щелкните по нему правой кнопкой мыши и выберите пункт Set Primary Key из контекстного меню.

Рисунок 17 – Проверяем наличие первичного ключа

Сконфигурируйте элементы управления Data Source и GridView для отображения нужных записей. Просмотрите страницу, чтобы убедиться в правильности всех настроек. Проверьте, что у элемента управления Data Source заданы операторы INSERT, UPDATE и DELETE. Это можно сделать следующим образом:

– выбрать пункт Configure Data Source из меню задач элемента управления SqlDataSource.

– нажать на кнопку Next, чтобы перейти к окну Configure the Select Statement.

– нажать на кнопку Advanced, когда появится диалоговое окно Advanced SQL Generation Options, убедитесь, что флажком помечена опция Generate INSERT, UPDATE and DELETE statements.

– если кнопка Advanced или опция Generate INSERT, UPDATE and DELETE statements недоступны, то закройте окно Advanced SQL Generation Options, если оно было открыто. В окне Configure the Select Statement выполните любое из следующих действий:

- выберите опцию Specify a custom SQL Statement Or Stored Procedure и нажмите кнопку Next, чтобы отобразить диалоговое окно Define Custom Statements Or Stored Procedures. Убедитесь, что во всех вкладках SELECT, UPDATE, INSERT, DELETE присутствуют правильные SQL команды.

- Пометьте необходимые поля вашей таблицы, затем нажмите кнопку Advanced и выберите опцию Generate INSERT, UPDATE and DELETE statements.

– отобразите меню задач элемента управления GridView и выберите любую комбинацию следующих опций:

- Enable Editing. Установите этот флажок, чтобы элемент управления GridView мог изменять записи таблицы базы данных.

- Enable Deleting. Установите этот флажок, чтобы элемент управления GridView мог удалять записи таблицы базы данных.

- Enable Selection. Установите этот флажок, чтобы элемент управления GridView мог назначать выбранную запись текущей.

Сохраните страницу и просмотрите ее в браузере.

Теперь перейдем к созданию элемента управления DetailsView, с помощью которого можно будет добавлять записи в таблицу базы данных, для этого нужно выполнить следующие действия:

Создайте новую, пустую страницу, отредактируйте эту ее. Добавьте элемент управления SqlDataSource к странице, перетащив его из группы Data панели Toolbox. Сконфигурируйте элемент SqlDataSource так, чтобы можно было обратиться к таблице "Анкета" в базе данных "Зодиак".

На странице настроек, нажмите кнопку Advanced и удостоверьтесь, что выбрана опция Generate INSERT, UPDATE and DELETE statements. Добавьте элемент управления DetailsView к редактируемой странице, перетащив его из группы Data панели Toolbox. Сконфигурируйте следующие параметры с помощью меню задач для созданного элемента управления DetailsView.

- в качестве значения поля Choose Data Source укажите тот источник данных, который был создан ранее;

- поставьте флажок напротив опции Enable Inserting, тем самым вы разрешите элементу правления добавлять записи.

Перейдите к окну Properties и проверьте настройки элемента управления DetailsView. Приведите их в соответствие с теми, что указаны в таблице 5. Сохраните страницу и просмотрите ее в браузере. Добавленные записи должны появляться после того как вы обновите соответствующую Web-страницу.

 

Таблица 5 – Свойства элемента управления DetailsView

Свойство Значение Описание
AutoGeneratelnsertButton True Показывает внизу элемента управления DetailsView ссылку "Вставить" (Insert) для добавления записи в таблицу базы данных.
AutoGenerateRows False Отменяет автоматическую подстановку полей записи таблицы в DetailsView.
DataKeyNames id _анкета Определяет список областей, которые служат первичным ключом таблицы базы данных.
DataSourceld SqIDataSource1 Определяет название источника данных, посредством которого будет происходить добавление записи.
DefaultMode Insert Задает для элемента управления DetailsView режим вставки записей по умолчанию.
HorizontalAlign Center Размещает элемент управления DetailsView посередине страницы.

На рисунке 19 показывает, как выглядит созданная страница в браузере. Чтобы добавить запись, содержащую новую анкету, пользователь должен заполнить поля: ФИО, дата рождения, телефон, электронный адрес, доход, а затем нажать кнопку Вставка

 

Рисунок 19 – Просмотр элемента управления DetailsView, сконфигурированного для добавления записей

Задания к лабораторной работе

Создать базу данных "Зодиак" со следующими таблицами:

1. Анкета (содержит личные данные о пользователе сайта)

2. Описание знаков (содержит краткую характеристику знака зодиака)

3. Прогноз (содержит прогноз для каждого знака зодиака на конкретную дату).

 

Во всех таблицах для каждого поля укажите тип данных и допущение значения NULL.

 

Прогноз

Имя поля Тип данных Допускается NULL
id_прогноз    
знак    
дата    
содержание    

 

Анкета

Имя поля Тип данных Допускается NULL
id_анкета    
ФИО    
Дата_Рождения    
Телефон    
Электронный_Адрес    
доход    
знак    

 

Описание знаков

Имя поля Тип данных Допускается NULL
id_знаки . .
название . .
характеристика . .

Сделать следующие формы для каждой таблицы базы данных:

Таблица Назначение форм
DetailsView GridView
Анкета Добавление анкеты пользователем Форма не требуется
Описание знаков Просмотр подробной характеристики того или иного знака Просмотр кратких характеристик по каждому из знаков
Прогноз Просмотр прогноза на конкретную дату Просмотр прогнозов за определенный период

 

Какие поля каждой из таблиц не нужно отображать на формах:

Таблица Перечень полей
Анкета  
Описание знаков  
Прогноз  

 

Отметьте, для каких из следующих форм желательно задать разбиение на страницы:

- таблица Анкета, форма DetailsView;

- таблица Описание знаков, форма DetailsView;

- таблица Описание знаков, форма GridView;

- таблица Прогноз, форма DetailsView;

- таблица Прогноз, форма GridView;

Отметьте, по каким полям каждой из форм стоит разрешить сортировку значений:

Форма Перечень полей
таблица Анкета, форма DetailsView  
таблица Описание знаков, форма DetailsView  
таблица Описание знаков, форма GridView  
таблица Прогноз, форма DetailsView  
таблица Прогноз, форма GridView  

 

Какие свойства формы заданные по умолчанию вы изменили? Запишите их в таблицу, представленную ниже:

Свойство Значение Описание
таблица Анкета, форма DetailsView
.    
.    
таблица Описание знаков, форма DetailsView
.    
.    
таблица Описание знаков, форма GridView
.    
.    
таблица Прогноз, форма DetailsView
.    
.    
таблица Прогноз, форма GridView
.    
.    

 

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

 

Контрольные вопросы:

 

1. Как сконфигурировать подключение к базе данных с помощью окна Database Explorer?

2. Как отобразить содержимое базы данных на Web-странице в Microsoft Visual Studio 2005? Какие компоненты используют для отображения?

3. Какие шаги нужно выполнить, чтобы создать новую базу данных для Web-приложения?

4. Охарактеризуйте элементы управления GridView, DetailsView и FormView необходимые дляотображения данных.

5. Как настроить элемент управления GridView для обновления и удаления записей базы данных?

 


ЛИТЕРАТУРА

Основна

1. Эспозито Д. Microsoft ASP.NET 2.0. Базовый курс. Мастер-класс / Пер. с англ. – М.: Издательство «Русская редакция»; СПб.: Питер, 2007. – 688 с.

2. Браст Эндрю Дж., Форте Стивен. Разработка приложений на основе Microsoft SQL Server 2005. Мастер-класс. / Пер. с англ. – М.: Издательство «Русская редакция», 2007. – 880 с.

 

Додаткова

 

1. Канноли Томас, Бегг Каролин, Страчан Анна, Базы данных: проектирование, реализация и сопровождение. Теория и практика, 2-е изд.: Пер.с анг.: Уч. пос.- М.: Издательский дом «Вильямс», 2000г.

2. Троелсен Эндрю. Язык программирования С# 2005 и платформа .NET 2.0, 3-е издание.: Пер. с анг.-М.:ООО «И.Д.Вильямс»,2007. -1168с.

3. Мак-Дональд Мэтью,Шпунта Марио. Microsoft ASP.NET 2.0 с примерами на С# 2005 для профессионалов.:Пер. с анг.-М.:ООО «И.Д.Вильямс»,2006. -1408с.

4. Эспозито Д. Microsoft ASP.NET 2.0. Углубленное изучение. Мастер-класс / Пер. с англ. – М.: Издательство «Русская редакция»;СПб.:Питер, 2007.– 688 с.

5. Рейли Д. Создание приложений Microsoft ASP.NET / Пер. с анг. – М.: Издательство «Русская редакция», 2002. – 480 с

6. Харинатх С., Куинн С , SQL Server 2005 Analysis Services и MDX для профессионалов «Диалектика»,2008 г.-848с.