Доступ к информации базы данных в ASP.NET 2.0
ОГЛАВЛЕНИЕ
К примеру, для того, чтобы отобразить содержимое таблицы базы данных на веб-странице с ASP.NET 1.x, вам нужно было бы написать код для того, чтобы:
- осуществить соединение к базе данных,
- выполнить команду,
- получить результат,
- работать с результатами; связать их с элементом управления данными (таким как DataGrid)
Осуществляем доступ к информации базы данных
ASP.NET 2.0 предоставляет два элемента управления источниками данных разработанных специально для осуществления доступа к информации из базы данных:
- SqlDataSource - пригоден для доступа к информации любой реляционной базы данных. "Sql" в названии не имеет отношения к Microsoft SQL Server, скорее к синтаксису SQL относительно запросов к реляционным базам данных, так как элемент SqlDataSource может быть использован для осуществления доступа не только к базам данных Microsoft SQL Server, но и к базам Microsoft Access, Oracle ... в общем к любому информационному массиву, соответствующему OLE-DB либо ODBC.
- AccessDataSource - схож SqlDataSource. Ключевой разницей является то, что вместо того чтобы требовать строку соединения к базе данных, элемент AccessDataSource позволяет вам просто указать путь к Access файлу .MDB посредством свойства DataFile.
Оба элемента управления имеют практически одинаковый набор свойств, и единственной разницей будет то, как вы укажете информацию о соединении. В принципе, элемент AccessDataSource по большому счету является излишком, так как доступ к базам данных Microsoft Access может быть сделан посредством SqlDataSource. (Вам, конечно же, придется предоставить строку соединения вместо простого указания пути к файлу, но Visual Studio 2005 может автоматически создавать соответствующие строки соединения для баз данных, расположенных в вашем App_Data каталоге.)
В данной статье мы подробно рассмотрим SqlDataSource и немного поговорим об этой разнице с AccessDataSource. Более того, элементы SqlDataSource и AccessDataSource могут быть использованы для осуществления доступа и выполнения изменений информации; тем не менее статья освещает только доступ к данным. Мы рассмотрим способ использования элементов управления источниками данных для выполнения изменений информации в следующей статье.
Для начала, запустите Visual Studio 2005 и создайте новый веб-сайт или скачайте пример кода из приложения к данной статье. Я буду рассматривать осуществление доступа, получение результата и отображение информации из базы данных Microsoft Access Northwind, которая также приведена в приложении к данной статье. (Заметьте, я использую более укороченную версию базы Northwind, где я для уменьшения объема файла удалил Forms, Modules, Reports и Macros.)
ASP.NET 2.0 предоставляет каталог App_Data - его вы можете добавить в ваш веб-сайт для того, чтобы хранить в нем такие файлы, как XML-файлы, файлы базы данных Access (.mdb), файлы базы данных SQL Server 2000 и SQL Server 2005 Express (.mdf). В приложении вы найдете файл Northwind.mdb в каталоге App_Data. Конечно, ASP.NET может работать с базами данных которые не находятся в каталоге App_Data. При использовании профессиональных систем баз данных, таких как Microsoft SQL Server, они обычно зарегистрированы на удаленном сервере баз данных.
Неважно, где находится ваша база данных - как только у вас будет база данных, с которой вам нужно работать, для осуществления доступа к ее содержимому вы захотите добавить SqlDataSource (либо AccessDataSource) на страницу. Начните с создания новой ASP.NET-страницы и перейдите в режим просмотра Design. Далее, перетащите элемент SqlDataSource из Toolbox в Designer. Элементы управления источниками отображены в качестве маленького прямоугольника в Designer; они не порождают HTML-разметку при посещении страницы обозревателем. Для того чтобы правильно осуществить доступ к данным, мы должны настроить некоторые свойства SqlDataSource, которые указывают используемую базу данных и запрос, который нужно выполнить. Хотя это можно осуществить посредством панели Properties, это выполняется быстрее, при помощи мастера (wizard), которую можно вызвать нажатием на ссылку "Configure Data Source" (Настроить источник данных) в смарт-теге элемента SqlDataSource.