Доступ к информации базы данных в ASP.NET 2.0 - Настраиваем элемент управления SqlDataSource при помощи мастера (Wizard)
ОГЛАВЛЕНИЕ
Настраиваем элемент управления SqlDataSource при помощи мастера (Wizard)
При нажатии на ссылку "Configure Data Source" (Настроить источник данных) появляется мастер, который просит вас выбрать необходимую информацию. На первом экране, показанном ниже, он запрашивает вас выбрать базу данных, из которой будет получена данная информация. Выпадающий список перечисляет существующие строки соединения, указанные в секции<connectionStrings> файла Web.config и те, что находятся в каталоге App_Data. Для соединения к базе данных, зарегистрированной где-то в другом месте, нажмите кнопку New Connection (новое соединение) и укажите сервер баз данных и информацию аутентификации.

После того, как вы выбрали базу данных, нажмите кнопку Next (далее). Если вы не указали <connectionStrings> для данной базы данных в файле Web.config, мастер сделает это за вас, если вам так будет угодно. Есть множество преимуществ в указании строки соединения в файле Web.config, ключевым из них будет то, что оно делает ваше приложение более удобным в сопровождении. Представьте, что вам позже придется переместить серверы баз данных и необходимо обновить строку соединения. Если она у вас объявлена в файле Web.config, то вам нужно ее обновить только там, а если нет, то вам придется найти все страницы, которые ссылаются посредством данной строки, и изменить ее там. Более того, помещением вашей строки соединения в файл Web.config вы можете зашифровать ваши строки соединения в качестве защиты сайта. (Тем не менее, мастер не сможет автоматически записывать в секцию <connectionStrings> в случае, если она у вас зашифрована.) Следующее изображение показывает данный второй шаг; как вы видите, я попросил сохранить данную строку соединения в Web.config, назвав ее NorthwindConnectionString.
Сравнение с AccessDataSource. |
---|
AccessDataSource отличается от SqlDataSource одним небольшим аспектом - вместо того, чтобы указывать строку соединения, как в случае с SqlDataSource, AccessDataSource просит ввести путь к файлу базы данных. Тем самым изображение, приведенное выше ,отличается в случае с AccessDataSource. В частности, первое изображение просить ввести путь к файлу; поскольку строка соединения не используется, второе изображение не относится к AccessDataSource. Тем не менее все последующие изображения идентичны для обоих элементов. |
На следующем изображении вас попросят выбрать ваше SELECT-выражение. При помощи кнопок с зависимой фиксацией расположенных на верхней части экрана вы можете выбрать таблицы либо представление, и выбрать те столбцы, которые необходимо получить (так, как это показано в следующем изображении), либо написать выражение SQL или выбрать хранимую процедуру. Если вы решите указать колонки из таблицы или представления, вам всего лишь надо выбрать таблицу или представление из выпадающего списка и затем выбрать колонки. В данном примере я запрашиваю колонки ProductID, ProductName, UnitPrice и UnitsInStock из таблицы Products. Данный запрос возвратит все записи из таблицы Products.

По умолчанию, информация возвращена в таком порядке, в каком она хранится в базе данных. Если у вас есть групповой индекс (как, к примеру, ограничение по первичному ключу) по таблице, то данные будут отсортированы соответственно по колонкам, составляющим индекс; в противном случае данные будут отсортированы по мере поступления в базу данных. Для указания какого-либо другого способа сортировки, нажмите на кнопку ORDER BY. Здесь вы можете выбрать колонки, по которым будет производиться сортировка и порядок сортировки (убывания либо возрастания). Настройки в данном окне управляют выражением ORDER BY в SELECT.

Если вам нужно получить колонки из таблицы или представления, то вы сможете настроить только простые запросы, которые включают в себя только одну таблицу или представление. В случае с реляционными базами данных, данные также находятся в связанных таблицах, и для получения ее нам необходимо использовать JOIN (соединение). Либо данные могут быть доступны при помощи использования хранимой процедуры. В данных случаях нам необходимо выбрать "Specify a custom SQL statement of stored procedure" (Указать специализированное выражение SQL для хранимой процедуры) и затем нажать Next (далее). Тем самым вы попадете на следующий этап, указанный на изображении. Здесь вы можете вписать свой собственный SQL-запрос в выражение SELECT, либо выбрать хранимую процедуру из тех, которые указаны в списке.

Если вы создаете достаточно громоздкий запрос, то вам, наверное, захочется использовать Query Builder (создатель запросов). Нажав на кнопку Query Builder, вы запустите графический инструмент, который позволит вам выбрать таблицы для осуществления запросов и автоматически добавит синтаксис соединений JOIN. Следующее изображение показывает Query Builder в действии. Как вы видите, я добавил две таблицы в окне запроса - Categories и Products - и выбрал две колонки из данных таблиц. Я также указал то, что результаты должны быть сначала отсортированы по колонке CategoryName, а затем - по ProductName. Парочка щелчков - и Query Builder создаст необходимый запрос.

После создания вашего SELECT-выражения - посредством таблицы или представления, с помощью хранимой процедуры или написания специализированного запроса , нажмите на кнопку Next (далее) для того, чтобы перейти к последнему экрану. Здесь вы выполните тот запрос, который вы создали, и увидите его результаты. Нажмите кнопку Finish для завершения.
