» ASP
для новичков
» Главная
страница
»
ASP
для новичков
ADO.NET
После того, как на протяжении целой
главы рассматривалась некая технология работы с базами данных, попробуем
подвести под нее теоретическую базу. Как было сказано в предыдущем разделе,
использованная нами технология носит наименование ADO.NET. Она является
наследником технологии ADO (ActiveX Data Object). Если в предыдущей версии ADO
упор делался на создании постоянных соединений, то в ADO.NET, ориентированной,
как это видно из названия, на работу в сетях, по умолчанию создаются соединения,
не поддерживаемые в подключенном состоянии все время.
Как мы уже знаем, одним из объектов
ADO.NET, наиболее близким к компонентам Web Forms является Dataset. Объект
Dataset может хранить в себе не только набор записей, а различные таблицы, связи
их друг с другом, отдельные поля и прочую атрибутику баз данных. При этом
Dataset не взаимодействует напрямую с источником данных. В рассмотренных
примерах было показано, как для заполнения объектов Dataset были использованы
объекты промежуточного звена. Одним из таких объектов являлся класс
SqlDataAdapter.
Следует также отметить, что в
качестве источника данных для объекта Dataset могут быть использованы не только
стандартные базы данных, но и XML-файлы. Однако, в наших примерах, приведенных в
данной главе, мы использовали в качестве основного SQL-сервера Microsoft SQL
Server 2000. Но Web-приложения, созданные на базе ASP.NET, могут использовать
любую базу данных, для которой есть соответствующий ODBC-драйвер.
И вот здесь следует сделать
некоторое отступление. В ADO.NET информацию из баз данных могут предоставлять
два типа источников данных — SQL iManaged Provider и ADO Managed Provider.
Источник данных SQL Managed Jfrovider предоставляет доступ к базам данных,
обслуживаемым серверами fMicrosoft SQL Server 7.0 и Microsoft SQL Server 2000.
Для всех остальных баз данных используется источник данных ADO Managed Provider.
Следует отметить, что источник
данных SQL Managed Provider обеспечивает несколько большую скорость работы,
нежели его собрат ADO Managed Provider, поэтому если есть возможность, следует
использовать для работы SQL-серверы от Microsoft, начиная с седьмой версии.
Естественно, все объекты для этих
двух типов источников данных имеют одинаковые наименования и практически
одинаковую функциональность. Различие лишь в том, что все объекты, принадлежащие
SQL Managed Provider, располагаются в пространствах имен System.Data и
System.Data.SQL, а их функциональные двойники, работающие в сфере ADO Managed
Provider, располагаются в пространствах имен System.Data и System.Data.ADO.
Таким образом, если разработчику необходимо использовать СУБД, доступ к которой
осуществляется при помощи драйвера ODBC, ему следует использовать два последних
пространства имен, а сами объекты останутся теми же самыми.
Чаще всего для взаимодействия
Web-страниц с базой данных используются три компонента — connection, command и
DataSet. Эта триада практически идеально подходит для использования в
Web-приложениях, которые логически разделены на несколько слабосвязанных частей
(каждая часть соответствует одной Web-странице), когда нельзя заранее
предсказать, какое именно действие произведет пользователь и какой блок данных
потребуется ему. Поэтому модель краткосрочных соединений и иерархия Соединение —
Команда — Набор данных позволяют при наименьших затратах ресурсов добиться
максимальной производительности и свободы действий для разработчика.
Итак, в этой главе мы рассмотрели
вопросы работы Web-приложений ASP.NET с базами данных. Несомненно, рассмотренные
нами примеры охватывают лишь начальные этапы работы, так как функциональность
объектов ADO.NET позволяет создавать и обрабатывать гораздо более сложные
структуры данных, однако в рамках книги мы свою задачу выполнили и можем
двигаться дальше. На очереди — извлечение данных из XML-файлов.
Следующий
урок
|