Разработка интерактивных сайтов с помощью Microsoft Visual Web Developer

Работа с базами данных

Разбить на страницы
Показывать лекцию целиком

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

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

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

Тема 1. Создание базы данных и подключения

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

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

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

(рис 13.1) Окно Database Explorer

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

Соединение с Существующей Базой данных

  • Запустите VWD2005 EE, откройте Web-сайт и активизируйте окно Database Explorer.
  • В окне Database Explorer щелкните правой кнопкой мыши по надписи Data Connections и выберите Add Connection из контекстного меню
  • Появится диалоговое окно Add Connection, как показано на рис 13.2(рис 13.2) Диалоговое окно Add Connection

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

    (рис 13.3) Окно Change Data Source
  • Когда управление перейдет к диалоговому окну Add Connection, проверьте поле Data Source.
  • Если поле Data Source ссылается на нужный вам тип базы данных, переходите к следующему шагу.
  • Иначе, щелкните на кнопку Change и вернитесь к шагу 3.

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

  • Задайте необходимые параметры подключения в диалоговом окне Add Connection и щелкните кнопкой OK.
  • VWD2005 EE может подключаться и управлять базами данных Microsoft SQL Server. Кроме того, VWD2005 EE может подключаться и управлять следующими базами данных:

  • базы данных Microsoft Access.
  • базы данных Oracle (если и Oracle и драйверы базы данных Microsoft установлены).
  • любые базы данных, для которых есть ODBC или OLE-DB драйверы.
  • Далее рассмотрим стандартные действия для подключения к SQL серверу, которые нужно выполнить с помощью диалогового окна Add Connection:

  • В поле Server Name, введите имя сервера и, в случае необходимости, название раздела, где SQL сервер хранит базу данных.

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

  • Выберите тип аутентификации для SQL сервера, воспользовавшись одним из двух доступных методов:
  • Use Windows Authentification. Использует ваш текущий логин и пароль, которые вы вводили для входа в операционную систему Microsoft Windows, для соединения с SQL сервером. Этот метод рекомендуется использовать, если SQL сервер установлен на локальном компьютере.
  • Use SQL Server Authentification. Для подключения к SQL серверу используются имя пользователя и пароль, определенные на самом SQL сервере. Если выбран этот метод, то нужно ввести имя пользователя SQL сервера и пароль, которые имеют необходимые привилегии для работы базами данных. Как правило, получить имена и пароли можно у администратора базы данных, который управляет именами и паролями для доступа к SQL серверу.
  • Определите, какую базу данных будет использовать ваше подключение.

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

  • Если база данных находится в .mdf файле и еще не присоединена к SQL серверу
  • Определите имя .mdf файла в поле Attach a database file. Для этого можно просто напечатать путь и имя файла или щелкнуть на кнопку Browse, определить местонахождение файла, и затем щелкнуть на кнопку Open.
  • В поле Logical Name, напечатайте краткое название, которое описывает присоединяемую базу данных. Это название будет использоваться в командах SQL и коде вашей программы.
  • Чтобы проверить правильность всех настроек, щелкните на кнопку Test Connection в нижнем левом углу диалогового окна. Если ваши настройки правильны, VWD2005 EE отобразит сообщение "Test connection succeesed", в противном случае вернитесь к началу и отредактируйте настройки.
  • Щелкните на кнопку 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 сайт.
  • Выберите пункт New File из меню File.
  • Когда диалоговое окно Add New Item появится, выберите шаблон SQL Database
  • В поле Name, напечатайте Зодиак.mdf
  • Щелкните на кнопку Add. Если появится следующее сообщение (см. рис.13.4), то щелкните на кнопку Yes. VWD2005 EE создаст базу
  • (рис 13.4) Предложение разместить, создаваемую базу данных в стандартном каталоге App_Data

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

  • В окне Database Explorer, нажмите значок Плюс (+) рядом с подключением базы данных Зодиак, которое было создано ранее. Щелкните правой кнопкой мыши по разделу Tables, и выберите пункт Add New Table из контекстного меню.
  • VWD2005 EE отобразит таблицу со стандартным именем Table1 в режиме конструктора. Теперь вы можете задать для новой таблицы поля и их описания. Чтобы задать первое поле, выполните следующие действия:
  • Установите курсор в первой строке окна Table Designer в поле, расположенное прямо под надписью Column Name.
  • Введите название id_анкета и нажмите клавишу Tab.
  • В столбце Data Type, выберите Int из всплывающего списка и нажмите клавишу Tab.
  • Уберите флажок в столбце Allow Nulls.
  • Во вкладке Column Properties внизу окна, найдите раздел Identity Specification, нажмите значок Плюс (+), чтобы раскрыть этот раздел, и установите значение (рис 13.5) Определение полей базы данных
  • Щелкните правой кнопкой мыши по строке id_анкета и выберите пункт Set Primary Key из контекстного меню
  • Установка значение Yes для свойства Is Identity для поля id_анкета сообщает SQL серверу, что каждый раз при добавлении новой записи в таблицу это поле должно принимать уникальное значение. Если вы выделили одно или несколько полей таблицы, щелкнули по выделению правой кнопкой мыши, а затем выбрали Set Primary Key из контекстного меню, то SQL сервер будет обрабатывать эти поля для идентификации записей таблицы.

  • Когда вы зададите все свойства текущего поля, обратите внимание на то, что снизу появилась пустая строка, в которой вы можете создать новое поле. Таким образом, переходя от строки к строке, вы можете задать все поля и их свойства (см.табл.13.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
  • Выберите пункт Save Tablen из меню File, где n - целое число, которое VWD2005 EE назначает каждой вновь создаваемой таблице. Когда появится диалоговое окно Choose Name см. рис.13.6, введите название таблицы, например, "Анкета", а затем щелкните на кнопку OK.
  • (рис 13.6) Окно сохранения новой таблицы

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

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

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

    (рис 13.7) Просмотр содержимого таблицы

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

  • Чтобы изменить значение любой ячейки, выберите ее и напечатайте новое значение.
  • Чтобы добавить запись, напечатайте значения ее полей в пустую строку в конце таблицы.
  • Чтобы удалить запись, выберите ее и нажмите клавишу Del.
  • VWD2005 EE немедленно вставляет, обновляет или удаляет текущую запись всякий раз, когда вы нажимаете ENTER, Del или переходите к другой записи. Поэтому нет никакой надобности в дополнительном сохранении внесенных изменений.

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

  • Щелкните правой кнопкой мыши по окну Query Designer.
  • Выберите Pane из контекстного меню.
  • Выберите область окна, которую Вы хотите отобразить или скрывать.
  • Каждая область выполняет свои задачи, вот краткое описание каждой из них:

  • Diagram. Отображает маленькое окно для каждой таблицы, включенной в запрос. Флажки указывают области, предназначенные для вывода, и значки AZ указывают порядок сортировки.
  • Чтобы добавить таблицу к диаграмме (и следовательно к запросу) перетащите ее из окна Database Explorer и поместите ее на область Diagram.
  • Чтобы соединить пару таблиц (то есть, получить отчеты, основанные на значениях данных из обеих таблиц) перетащите нужное поле из одной таблицы и поместите его на соответствующее поле в другой таблице.
  • Чтобы изменить свойства объединения таблиц, щелкните правой кнопкой мыши по линии, соединяющей эти две таблицы и выберите тип объединения, который вам нужен.
  • Criteria. Отображает в табличном и доступном для редактирования виде представление полей из всех таблиц, включенных в запрос.
  • SQL Отображает SQL команды, которые автоматически генерируются в соответствии с запросом.

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

  • Results. Отображает результаты выполнения запроса. Запрос, который выполняется по умолчанию, когда вы выбираете команду Show Table Data имеет вид:
    SELECT * FROM  <названия таблицы>
  • Если Вы будете использовать области Diagram, Criteria или SQL, чтобы изменить этот запрос, то область окна Results не отобразит ваших изменений до тех пор, пока вы не выполните одно из двух действий:

  • Выберите пункт Execute SQL из меню Query Designer, или
  • Щелкнув правой кнопкой мыши по окну Query Designer, выберите пункт Execute SQL из контекстного меню.
  • VWD2005 EE может соединить ваш Web-сайт с существующими базами данных. Он позволяет также создать новую базу данных и соединиться с ней. Обычно базы данных размещаются в папке App_Data вашего Web-сайта. VWD2005 EE может также создать, изменять и обновлять таблицы базы данных.

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

    Для отображения содержимого из базы данных на Web странице VWD2005 EE использует три вида компонентов:

  • Data Connection, обеспечивает доступ к базам данных.
  • Data Source использует Data Connection для того чтобы искать, вставлять, обновлять и удалять записи в базе данных, ничего не показывая пользователю.
  • Data Bound Controls показывает информацию из базы данных, используя Data Source.
  • Чтобы оценить легкость работы по созданию приложений баз данных с использованием VWD2005 EE, выполним следующую процедуру:

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

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

    (рис 13.8) Использование элемента управления GridView.

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

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

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

  • Выделите элемент (рис 13.9) Выбор подключения
  • Когда диалоговое окно Choose Your Data Connection (см. рис.13.8), появится, вы должны:
  • использовать раскрывающийся список, чтобы выбрать нужную строку подключения, или
  • щелкнуть на кнопку New Connection, чтобы создать новую строку подключения данных.
  • Чтобы отобразить содержимое строки подключения источника данных нужно нажать на значок Плюс (+), который предшествует надписи Connection String

    (рис 13.10) Выбор полей из таблицы
  • Нажмите кнопку Next, чтобы перейти к окну Configure The Select Statement (см. рис.13.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 в том же диалоговом окне (см. рис.13. 10)

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

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

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

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

  • DataSourceID. Имя источника данных, которое указывает на таблицу или запрос с необходимой информацией
  • DataTextField. Имя поля, значения которого будут отображаться при работе пользователя с элементом DropDownList. Обычно эти значения относятся к строковому типу.
  • DataValueField. Имя поля, значения которого будут возвращаться элементом DropDownList. Обычно эти значения относятся к целому типу.
  • Часто бывает необходимо отобразить несколько полей для каждой записи таблицы в одном элементе управления с возможностью их непосредственного обновления. Таким требованиям удовлетворяют элементы, перечисленные в табл.13.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, DetailsView и FormView наиболее удобны в использовании. Процесс конфигурации этих элементов почти одинаков для каждого из них. Покажем его на примере конфигурирования элемента управления GridView.

    (рис 13.13) С этим диалоговым

    Будем использовать элемент управления GridView для создания страницы Анкетных данных пользователей сайта "Зодиак" (рис.13.12). На рисунке вы видите страницу, которая оформлена с использованием уже известных вам элементов: меню; темы; и строки перемещения. Обратите внимание на таблицу содержащую сведения о пользователях из таблицы "Анкета" - это и есть элемент управления GridView. Чтобы создать 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 (см. рис.13. 14). В результате мы получим запрос, показывающий только записи, в которых доход больше или равен 10.000

    (рис 13.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. Разбивает весь отчет на страницы, содержащие заданное число записей. Внизу отчета появляются номера страниц, которые можно использовать для простмотра записей (см. рис.13.12).
  • Enable Sorting. Позволяет сортировать записи, показанные на Web странице, для этого достаточно щелкнуть по оглавлению нужного столбца.
  • Из меню задач выберите пункт Edit Columns. Появится диалоговое окно Fields (см. рис.13. 15). Используйте область Selected Fields и связанные с ним кнопки-стрелки "вверх" и "вниз", чтобы задать порядок следования полей в отчете: ФИО, дата_рождения, телефон, электронный_адрес, доход.(рис 13.15) Определение полей и их порядка следования в отчете
  • Выберите поле ФИО в области Selected Fields, а затем, используя область BoundField Properties, задайте свойства, перечисленные в табл.13.4. Повторите эту процедуру для остальных полей
    Список продуктов в недавно-отобранной категории
    Свойство Поле
    DataField ФИО Дата_рождения телефон Электронный_адрес доход
    HeaderText Фамилия Имя Отчество Дата рождения Контактный телефон Электронный адрес Годовой доход
    Element Style: HorizontalAlign Left Right Right Right Right
  • Нажмите на кнопку OK, чтобы закрыть диалоговое окно Fields
  • Сохраните страницу и просмотрите ее в вашем браузере.
  • Мы убедились, что с помощью VWD2005 EE можно создавать привлекательные Web страницы, которые отображают информацию из базы данных различными способами. Все это можно сделать, не написав ни строчки кода, а только используя компоненты: Data Connection, Data Source и Data Bound Controls.

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

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

    (рис 13.16) Использование элемента управления GridView для обновления данных
  • Правка. Использует формы HTML для отображения каждого поля записи, значения которых можно менять, а затем, щелкнув по кнопке "Обновить" сохранить изменения или нажав кнопку "Отменить" отказаться от них.
  • Удалить. Немедленно удаляет соответствующую запись.
  • Выбор. Отмечает соответствующую запись как текущую.
  • Покажем, как настроить элемент управления GridView для обновления и удаления записей:

  • Проверьте, имеет ли таблица базы данных первичный ключ. Для этого, щелкните правой кнопкой мыши по таблице в Database Explorer, и выберите пункт Open Table Definition. Убедитесь в том, что хотя бы одно поле объявлено первичным ключом (см. рис.13.17), если это не так, то выберите поле, которое может служить первичным ключом, щелкните по нему правой кнопкой мыши и выберите пункт Set Primary Key из контекстного меню.(рис 13.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 (см. рис.13.18).
  • (рис 13.18) Включаем опцию вставки, обновления и удаления записей

    Если кнопка 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 укажите тот источник данных, который был создан на шаге 2.
  • Поставьте флажок напротив опции Enable Inserting, тем самым вы разрешите элементу правления добавлять записи.
  • Перейдите к окну Properties и проверьте настройки элемента управления DetailsView. Приведите их в соответствие с теми, что указаны в табл.13.5.
  • Сохраните страницу и просмотрите ее в браузере. Добавленные вами записи должны появляться, после того как вы обновите соответствующую Web-страницу.
  • Свойства элемента управления DetailsView
    Свойство Значение Описание
    AutoGeneratelnsertButton True Показывает внизу элемента управления DetailsView ссылку "Вставить" ( Insert ) для добавления записи в таблицу базы данных.
    AutoGenerateRows False Отменяет автоматическую подстановку полей записи таблицы в DetailsView.
    DataKeyNames id _анкета Определяет список областей, которые служат первичным ключом таблицы базы данных.
    DataSourceld SqIDataSource1 Определяет название источника данных, посредством которого будет происходить добавление записи.
    DefaultMode Insert Задает для элемента управления DetailsView режим вставки записей по умолчанию.
    HorizontalAlign Center Размещает элемент управления DetailsView посередине страницы.

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

    (рис 13.19) Просмотр элемента управления DetailsView, сконфигурированного для добавления записей
    Страницы:

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

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

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

    Тема 1. Создание базы данных и подключения

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

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

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

    (рис 13.1) Окно Database Explorer

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

    Соединение с Существующей Базой данных

  • Запустите VWD2005 EE, откройте Web-сайт и активизируйте окно Database Explorer.
  • В окне Database Explorer щелкните правой кнопкой мыши по надписи Data Connections и выберите Add Connection из контекстного меню
  • Появится диалоговое окно Add Connection, как показано на рис 13.2(рис 13.2) Диалоговое окно Add Connection

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

    (рис 13.3) Окно Change Data Source
  • Когда управление перейдет к диалоговому окну Add Connection, проверьте поле Data Source.
  • Если поле Data Source ссылается на нужный вам тип базы данных, переходите к следующему шагу.
  • Иначе, щелкните на кнопку Change и вернитесь к шагу 3.

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

  • Задайте необходимые параметры подключения в диалоговом окне Add Connection и щелкните кнопкой OK.
  • VWD2005 EE может подключаться и управлять базами данных Microsoft SQL Server. Кроме того, VWD2005 EE может подключаться и управлять следующими базами данных:

  • базы данных Microsoft Access.
  • базы данных Oracle (если и Oracle и драйверы базы данных Microsoft установлены).
  • любые базы данных, для которых есть ODBC или OLE-DB драйверы.
  • Далее рассмотрим стандартные действия для подключения к SQL серверу, которые нужно выполнить с помощью диалогового окна Add Connection:

  • В поле Server Name, введите имя сервера и, в случае необходимости, название раздела, где SQL сервер хранит базу данных.

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

  • Выберите тип аутентификации для SQL сервера, воспользовавшись одним из двух доступных методов:
  • Use Windows Authentification. Использует ваш текущий логин и пароль, которые вы вводили для входа в операционную систему Microsoft Windows, для соединения с SQL сервером. Этот метод рекомендуется использовать, если SQL сервер установлен на локальном компьютере.
  • Use SQL Server Authentification. Для подключения к SQL серверу используются имя пользователя и пароль, определенные на самом SQL сервере. Если выбран этот метод, то нужно ввести имя пользователя SQL сервера и пароль, которые имеют необходимые привилегии для работы базами данных. Как правило, получить имена и пароли можно у администратора базы данных, который управляет именами и паролями для доступа к SQL серверу.
  • Определите, какую базу данных будет использовать ваше подключение.

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

  • Если база данных находится в .mdf файле и еще не присоединена к SQL серверу
  • Определите имя .mdf файла в поле Attach a database file. Для этого можно просто напечатать путь и имя файла или щелкнуть на кнопку Browse, определить местонахождение файла, и затем щелкнуть на кнопку Open.
  • В поле Logical Name, напечатайте краткое название, которое описывает присоединяемую базу данных. Это название будет использоваться в командах SQL и коде вашей программы.
  • Чтобы проверить правильность всех настроек, щелкните на кнопку Test Connection в нижнем левом углу диалогового окна. Если ваши настройки правильны, VWD2005 EE отобразит сообщение "Test connection succeesed", в противном случае вернитесь к началу и отредактируйте настройки.
  • Щелкните на кнопку 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 сайт.
  • Выберите пункт New File из меню File.
  • Когда диалоговое окно Add New Item появится, выберите шаблон SQL Database
  • В поле Name, напечатайте Зодиак.mdf
  • Щелкните на кнопку Add. Если появится следующее сообщение (см. рис.13.4), то щелкните на кнопку Yes. VWD2005 EE создаст базу
  • (рис 13.4) Предложение разместить, создаваемую базу данных в стандартном каталоге App_Data

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

  • В окне Database Explorer, нажмите значок Плюс (+) рядом с подключением базы данных Зодиак, которое было создано ранее. Щелкните правой кнопкой мыши по разделу Tables, и выберите пункт Add New Table из контекстного меню.
  • VWD2005 EE отобразит таблицу со стандартным именем Table1 в режиме конструктора. Теперь вы можете задать для новой таблицы поля и их описания. Чтобы задать первое поле, выполните следующие действия:
  • Установите курсор в первой строке окна Table Designer в поле, расположенное прямо под надписью Column Name.
  • Введите название id_анкета и нажмите клавишу Tab.
  • В столбце Data Type, выберите Int из всплывающего списка и нажмите клавишу Tab.
  • Уберите флажок в столбце Allow Nulls.
  • Во вкладке Column Properties внизу окна, найдите раздел Identity Specification, нажмите значок Плюс (+), чтобы раскрыть этот раздел, и установите значение (рис 13.5) Определение полей базы данных
  • Щелкните правой кнопкой мыши по строке id_анкета и выберите пункт Set Primary Key из контекстного меню
  • Установка значение Yes для свойства Is Identity для поля id_анкета сообщает SQL серверу, что каждый раз при добавлении новой записи в таблицу это поле должно принимать уникальное значение. Если вы выделили одно или несколько полей таблицы, щелкнули по выделению правой кнопкой мыши, а затем выбрали Set Primary Key из контекстного меню, то SQL сервер будет обрабатывать эти поля для идентификации записей таблицы.

  • Когда вы зададите все свойства текущего поля, обратите внимание на то, что снизу появилась пустая строка, в которой вы можете создать новое поле. Таким образом, переходя от строки к строке, вы можете задать все поля и их свойства (см.табл.13.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
  • Выберите пункт Save Tablen из меню File, где n - целое число, которое VWD2005 EE назначает каждой вновь создаваемой таблице. Когда появится диалоговое окно Choose Name см. рис.13.6, введите название таблицы, например, "Анкета", а затем щелкните на кнопку OK.
  • (рис 13.6) Окно сохранения новой таблицы

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

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

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

    (рис 13.7) Просмотр содержимого таблицы

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

  • Чтобы изменить значение любой ячейки, выберите ее и напечатайте новое значение.
  • Чтобы добавить запись, напечатайте значения ее полей в пустую строку в конце таблицы.
  • Чтобы удалить запись, выберите ее и нажмите клавишу Del.
  • VWD2005 EE немедленно вставляет, обновляет или удаляет текущую запись всякий раз, когда вы нажимаете ENTER, Del или переходите к другой записи. Поэтому нет никакой надобности в дополнительном сохранении внесенных изменений.

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

  • Щелкните правой кнопкой мыши по окну Query Designer.
  • Выберите Pane из контекстного меню.
  • Выберите область окна, которую Вы хотите отобразить или скрывать.
  • Каждая область выполняет свои задачи, вот краткое описание каждой из них:

  • Diagram. Отображает маленькое окно для каждой таблицы, включенной в запрос. Флажки указывают области, предназначенные для вывода, и значки AZ указывают порядок сортировки.
  • Чтобы добавить таблицу к диаграмме (и следовательно к запросу) перетащите ее из окна Database Explorer и поместите ее на область Diagram.
  • Чтобы соединить пару таблиц (то есть, получить отчеты, основанные на значениях данных из обеих таблиц) перетащите нужное поле из одной таблицы и поместите его на соответствующее поле в другой таблице.
  • Чтобы изменить свойства объединения таблиц, щелкните правой кнопкой мыши по линии, соединяющей эти две таблицы и выберите тип объединения, который вам нужен.
  • Criteria. Отображает в табличном и доступном для редактирования виде представление полей из всех таблиц, включенных в запрос.
  • SQL Отображает SQL команды, которые автоматически генерируются в соответствии с запросом.

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

  • Results. Отображает результаты выполнения запроса. Запрос, который выполняется по умолчанию, когда вы выбираете команду Show Table Data имеет вид:
    SELECT * FROM  <названия таблицы>
  • Если Вы будете использовать области Diagram, Criteria или SQL, чтобы изменить этот запрос, то область окна Results не отобразит ваших изменений до тех пор, пока вы не выполните одно из двух действий:

  • Выберите пункт Execute SQL из меню Query Designer, или
  • Щелкнув правой кнопкой мыши по окну Query Designer, выберите пункт Execute SQL из контекстного меню.
  • VWD2005 EE может соединить ваш Web-сайт с существующими базами данных. Он позволяет также создать новую базу данных и соединиться с ней. Обычно базы данных размещаются в папке App_Data вашего Web-сайта. VWD2005 EE может также создать, изменять и обновлять таблицы базы данных.

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

    Для отображения содержимого из базы данных на Web странице VWD2005 EE использует три вида компонентов:

  • Data Connection, обеспечивает доступ к базам данных.
  • Data Source использует Data Connection для того чтобы искать, вставлять, обновлять и удалять записи в базе данных, ничего не показывая пользователю.
  • Data Bound Controls показывает информацию из базы данных, используя Data Source.
  • Чтобы оценить легкость работы по созданию приложений баз данных с использованием VWD2005 EE, выполним следующую процедуру:

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

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

    (рис 13.8) Использование элемента управления GridView.

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

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

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

  • Выделите элемент (рис 13.9) Выбор подключения
  • Когда диалоговое окно Choose Your Data Connection (см. рис.13.8), появится, вы должны:
  • использовать раскрывающийся список, чтобы выбрать нужную строку подключения, или
  • щелкнуть на кнопку New Connection, чтобы создать новую строку подключения данных.
  • Чтобы отобразить содержимое строки подключения источника данных нужно нажать на значок Плюс (+), который предшествует надписи Connection String

    (рис 13.10) Выбор полей из таблицы
  • Нажмите кнопку Next, чтобы перейти к окну Configure The Select Statement (см. рис.13.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 в том же диалоговом окне (см. рис.13. 10)

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

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

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

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

  • DataSourceID. Имя источника данных, которое указывает на таблицу или запрос с необходимой информацией
  • DataTextField. Имя поля, значения которого будут отображаться при работе пользователя с элементом DropDownList. Обычно эти значения относятся к строковому типу.
  • DataValueField. Имя поля, значения которого будут возвращаться элементом DropDownList. Обычно эти значения относятся к целому типу.
  • Часто бывает необходимо отобразить несколько полей для каждой записи таблицы в одном элементе управления с возможностью их непосредственного обновления. Таким требованиям удовлетворяют элементы, перечисленные в табл.13.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, DetailsView и FormView наиболее удобны в использовании. Процесс конфигурации этих элементов почти одинаков для каждого из них. Покажем его на примере конфигурирования элемента управления GridView.

    (рис 13.13) С этим диалоговым

    Будем использовать элемент управления GridView для создания страницы Анкетных данных пользователей сайта "Зодиак" (рис.13.12). На рисунке вы видите страницу, которая оформлена с использованием уже известных вам элементов: меню; темы; и строки перемещения. Обратите внимание на таблицу содержащую сведения о пользователях из таблицы "Анкета" - это и есть элемент управления GridView. Чтобы создать 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 (см. рис.13. 14). В результате мы получим запрос, показывающий только записи, в которых доход больше или равен 10.000

    (рис 13.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. Разбивает весь отчет на страницы, содержащие заданное число записей. Внизу отчета появляются номера страниц, которые можно использовать для простмотра записей (см. рис.13.12).
  • Enable Sorting. Позволяет сортировать записи, показанные на Web странице, для этого достаточно щелкнуть по оглавлению нужного столбца.
  • Из меню задач выберите пункт Edit Columns. Появится диалоговое окно Fields (см. рис.13. 15). Используйте область Selected Fields и связанные с ним кнопки-стрелки "вверх" и "вниз", чтобы задать порядок следования полей в отчете: ФИО, дата_рождения, телефон, электронный_адрес, доход.(рис 13.15) Определение полей и их порядка следования в отчете
  • Выберите поле ФИО в области Selected Fields, а затем, используя область BoundField Properties, задайте свойства, перечисленные в табл.13.4. Повторите эту процедуру для остальных полей
    Список продуктов в недавно-отобранной категории
    Свойство Поле
    DataField ФИО Дата_рождения телефон Электронный_адрес доход
    HeaderText Фамилия Имя Отчество Дата рождения Контактный телефон Электронный адрес Годовой доход
    Element Style: HorizontalAlign Left Right Right Right Right
  • Нажмите на кнопку OK, чтобы закрыть диалоговое окно Fields
  • Сохраните страницу и просмотрите ее в вашем браузере.
  • Мы убедились, что с помощью VWD2005 EE можно создавать привлекательные Web страницы, которые отображают информацию из базы данных различными способами. Все это можно сделать, не написав ни строчки кода, а только используя компоненты: Data Connection, Data Source и Data Bound Controls.

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

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

    (рис 13.16) Использование элемента управления GridView для обновления данных
  • Правка. Использует формы HTML для отображения каждого поля записи, значения которых можно менять, а затем, щелкнув по кнопке "Обновить" сохранить изменения или нажав кнопку "Отменить" отказаться от них.
  • Удалить. Немедленно удаляет соответствующую запись.
  • Выбор. Отмечает соответствующую запись как текущую.
  • Покажем, как настроить элемент управления GridView для обновления и удаления записей:

  • Проверьте, имеет ли таблица базы данных первичный ключ. Для этого, щелкните правой кнопкой мыши по таблице в Database Explorer, и выберите пункт Open Table Definition. Убедитесь в том, что хотя бы одно поле объявлено первичным ключом (см. рис.13.17), если это не так, то выберите поле, которое может служить первичным ключом, щелкните по нему правой кнопкой мыши и выберите пункт Set Primary Key из контекстного меню.(рис 13.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 (см. рис.13.18).
  • (рис 13.18) Включаем опцию вставки, обновления и удаления записей

    Если кнопка 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 укажите тот источник данных, который был создан на шаге 2.
  • Поставьте флажок напротив опции Enable Inserting, тем самым вы разрешите элементу правления добавлять записи.
  • Перейдите к окну Properties и проверьте настройки элемента управления DetailsView. Приведите их в соответствие с теми, что указаны в табл.13.5.
  • Сохраните страницу и просмотрите ее в браузере. Добавленные вами записи должны появляться, после того как вы обновите соответствующую Web-страницу.
  • Свойства элемента управления DetailsView
    Свойство Значение Описание
    AutoGeneratelnsertButton True Показывает внизу элемента управления DetailsView ссылку "Вставить" ( Insert ) для добавления записи в таблицу базы данных.
    AutoGenerateRows False Отменяет автоматическую подстановку полей записи таблицы в DetailsView.
    DataKeyNames id _анкета Определяет список областей, которые служат первичным ключом таблицы базы данных.
    DataSourceld SqIDataSource1 Определяет название источника данных, посредством которого будет происходить добавление записи.
    DefaultMode Insert Задает для элемента управления DetailsView режим вставки записей по умолчанию.
    HorizontalAlign Center Размещает элемент управления DetailsView посередине страницы.

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

    (рис 13.19) Просмотр элемента управления DetailsView, сконфигурированного для добавления записей
    Вернуться к учебному плану