Реклама:

protected static void OnInfoMessage(object sender,

OleDbInfoMessageEventArgs args){ foreach (OleDbError err in args.Errors) {

Console.WriteLine("Ошибка {0} SQLState {1} " + " номер ошибки {2}:\n{3}",

err.Source, err.SQLState, err.NativeError, err.Message);

}

}

2.2. Адаптеры данных

2.2.1. Назначение адаптеров данных

Адаптеры данных в ADO.NET - это объекты-посредники между источниками данных (например, базами данных) и наборами данных в приложениях .NET.

Адаптеры данных посылают источниками данных запросы, выполняющие считывание данных. Затем адаптеры заливают полученные данные в таблицу данных. В случае необходимости для записей, измененных в таблицах данных приложения, адаптеры отсылают источникам данных запросы на изменение, добавление и удаление записей. Эта тема подробно рассматривается в приложении к книге, озаглавленном "Создание команд данных для адаптера данных".

Каждый адаптер данных обслуживает одну таблицу данных. Поэтому сколько есть таблиц данных в приложении, столько же в нем должно быть и адаптеров данных.

ADO.NET содержит два класса адаптеров данных:

• Адаптер класса System.Data.OleDb.OleDbDataAdapter может служить посредником для работы с любым OLE DB-источником данных.

• Адаптер класса System.Data.SqlClient.SqlDataAdapter "заточен" специально под MS SQL Server (версии не ниже 7.0). Этот адаптер работает напрямую с API сервера, минуя промежуточный уровень OLE DB. Поэтому он работает быстрее, чем OleDbDataAdapter.

2.2.2. Командные свойства адаптера данных

Объект адаптера данных содержит 4 свойства - ссылки на команду данных (объекты SqlCommand для адаптера типа SqlDataAdapter или OleDbCommand для адаптера типа OleDbDataAdapter), выполняющие:

• считывание данных из источника (свойство SelectCommand);

• вставку новых записей в источник данных (свойство InsertCommand);

• перезаписывание записей в источнике данных (свойство UpdateCommand);

• удаление записей в источнике данных (свойство DeleteCommand).

Для адаптера типа SqlDataAdapter эти свойства имеют вид:

public new SqlCommand SelectCommand {get; set;}

public new SqlCommand InsertCommand {get; set;}

public new SqlCommand UpdateCommand {get; set;}

public new SqlCommand DeleteCommand {get; set;}

Для адаптера типа OleDbDataAdapter эти свойства имеют вид:

public new OleDbCommand SelectCommand {get; set;}

public new OleDbCommand InsertCommand {get; set;}

public new OleDbCommand UpdateCommand {get; set;}

public new OleDbCommand DeleteCommand {get; set;}

Если объект адаптера данных создается на этапе разработки приложения с использованием мастера (визарда) Visual Studio .NET, то параметры названных команд данных запрашиваются в диалоге и сами объекты команд генерируются автоматически.

Если объект адаптера создается во время выполнения приложения вручную (т. е. программно с использованием конструктора), перечисленные выше команды данных нужно также создать вручную либо в создаваемом объекте адаптера нужно установить ссылки на уже существующие объекты команд данных.


⇐ Предыдущая страница| |Следующая страница ⇒