Программирование >>  Программирование с использованием ajax 

1 ... 288 289 290 [ 291 ] 292 293 294 ... 396


Теперь, когда вы познакомились с целями ADO.NET, давайте взглянем на сами классы ADO.NET.

Обзор классов и объектов ADO.NET

Диаграмма на рис. 28.1 демонстрирует базовые классы ADO.NET. Обратите внимание, что это не диаграмма наследования. Она показывает отношения между наиболее часто используемыми классами.

Объекты-потребители ADO.NET Объекты-поставщики ADO.NET

DataSet

DataTable

- DataRow

-[[БасгСоТйтп DataRelation I

Connection

Command

CommandBuilder

DataReader

DatdAdapter

Puc, 28,1. Базовые классы ADO.NET

Класс подразделяются на классы объектов-поставщиков данных .NET и классы объектов потребителей.

□ Объекты-поставщики специфичны для каждого типа источников данных - действительное чтение и запись информации в источники данных выполняется специфичными для поставщика объектами.

□ Объекты-потребители - это те, что применяются для доступа и манипуляции данными после того, как они прочитаны в память.

Объекты-поставщики требуют наличия активного соединения. Вы используете их сначала для чтения данных, а затем, в зависимости от потребностей, вы можете работать с данными в памяти через объекты-потребители. Вы можете также обновлять данные в источнике данных, используя объекты поставщика для записи изменений обратно в источник данных. Таким образом, объекты-потребители оперируют в автономном (отключенном) режиме; вы можете работать с данными в память даже тогда, когда соединение с базой данных закрыто.

Объекты поставщика

Объекты поставщика (provider objects) определены в каждом поставщике данных .NET. Имена их включают уникальное имя поставщика; например, действительный объект соединения с поставщиком OLE DB называется OleDbConnection, а класс поставщика .NET SQL Server - SqlConnection.

Объект Connection

Объект Connection - обычно первый объект, который вы используете, еще до применения большинства прочих объектов ADO.NET; он предоставляет базовое соединение с вашим источником данных. Если вы используете базу данных, требующую указания имени и пароля пользователя на удаленном сетевом сервере, то объект Connection заботится о таких деталях, устанавливая соединение и регистрируя пользователя.



Если вы знакомы с классическим ADO, обратите внимание, что Connection и прочие объекты, выполняющие аналогичные функции в классическом ADO, имеют сходные имена в ADO.NET.

Объект Command

Вы используете объект Command для передачи команды источнику данных, такой как SELECT * FROM Customers для запроса данных из таблицы Customers. Специфичные для поставщика имена включают SqlCommand для SQL Server, OdbcCommand- для ODBC и OleCommand- для OLE DB.

Объект CommandBuilder

Объект CommandBuilder используется для построения команд SQL для модификации данных из объектов на основе однотабличного запроса. Мы рассмотрим этот объект более подробно, когда будем изучать способы обновления данных. Специфичные для поставщика имена включают SqlCommandBuilder для SQL Server, OdbcCommandBuilder для ODBC и OleCommandBuilder для OLE DB.

Объект DataReader

Это быстрый, простой в использовании объект, который читает однонаправленные, доступные только для чтения потоки данных, такие как множество заказчиков, полученное из источника данных. Этот объект обеспечивает максимальную производительность для простого чтения данных; первый пример продемонстрирует использование этого объекта. Специфичные для поставщика объекты включают: SqlDataReader для SQL Server, OdbcDataReader для ODBC и OleDbDataReader для OLE DB.

Объект DataAdapter

Это класс общего назначения, выполняющий различные операции, специфичные для источника данных, включая обновление измененных данных, наполнение объектов DataSet (см. раздел Объект DataSet ) и другие операции, показанные в следующих примерах. Специфичные для поставщика имена включают SqlDataAdapter для SQL Server, OdbcDataAdapter для ODBC и OleDbAdapter для OLE DB.

Объекты-потребители

Это объекты, определенные для отключенной, потребляющей стороны ADO.NET. Они не связаны ни с каким определенным поставщиком данных .NET и находятся в пространстве имен System. Data.

Объект DataSet

DataSet - разновидность потребляющих объектов. DataSet представляет набор связанных таблиц, воспринимаемых как единое целое в рамках приложения. Например, Customers, Orders и Products могут быть таблицами в одном DataSet, представляющем каждого заказчика и продукты, которые он заказал у вашей компании. С помощью этого объекта можно быстро получать все необходимые данные из каждой таблицы, рассматривать и изменять их, будучи отключенным от сервера, а затем обновлять сервер изменениями в одной эффективной операции.

DataSet имеет средства, которые позволяют обращаться к объектам более низкого уровня, представляющим индивидуальные таблицы и отношения. Эти объекты - DataTable и DataRelation - будут рассмотрены в следующих разделах.



Объект DataTable

Этот объект представляет одну из таблиц в DataSet, такую как Customers, Orders или Products. Объект DataTable имеет средства, позволяющие вам обращаться к его строкам и столбцам.

□ Объект DataColumn. Представляет один столбец в таблице вроде OrderlD или CustomerName.

□ Объект DataRow. Представляет одну строку или связанные данные из таблицы наподобие CustomerlD, name, address определенного заказчика или т.д.

Объект DataRelation

Объект DataRelation представляет отношение между двумя таблицами, установленное через общий столбец. Например, таблица Orders может иметь столбец CustomerlD, идентифицирующий заказчика, разместившего заказ. Объект DataRelation может быть создан как представляющий отношение между Customers и Orders через разделенный столбец CustomerlD.

Все это должно дать представление об общей структуре объектов в ADO.NET. Существуют и другие объекты, помимо перечисленных, но давайте пока пропустим детали и рассмотрим некоторые примеры, демонстрирующие как все это работает.

Использование пространства имен System.Data

Первый шаг при использовании ADO.NET внутри кода С# состоит в установке ссылки на пространство имен System. Data, в котором находятся все классы ADO. NET. Поместите следующую директиву using в начало каждой программы, использующей ADO.NET:

using System.Data

Затем вы должны сослаться на поставщика данных .NET для конкретного используемого вами источника данных.

Поставщик данных .NET SQL Server

Если вы используете базу данных SQL Server (версии 7 или выше), включая настольные ее версии (SQL Express или MSDE), то наилучшая производительность и наиболее прямой доступ к ее средствам обеспечивается родным (специфичным для SQL) поставщиком данных .NET, на который ссылается следующая директива using:

using System.Data.SqlClient;

Сам Oracle предлагает собственный поставщик данных .NET, который называется System. DataAccess .Client. Вы можете получить его в отдельной загрузке, которую предлагает Oracle. Применять поставщик данных .NET от разработчика базы данных или же поставщик, предоставленный в .NET Framework - выбор за вами. Обычно поставщик от разработчика базы может использовать больше специальных средств конкретного продукта, но в качестве базового применения или применения начинающими разработчиками такой выбор может оказаться не особенно хорошим. Любой поставщик будет работать; используйте тот, который вы предпочитаете.

Поставщик данных OLE DB

Для источников данных, отличных от SQL Server или Oracle (такого как Microsoft Access), можно применять поставщик данных .NET OLE DB, на который ссылается следующая директива using:

using System.Data.OleDB;



1 ... 288 289 290 [ 291 ] 292 293 294 ... 396

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.001
При копировании материалов приветствуются ссылки.
Яндекс.Метрика