Класс DataAdapter

Объекты класса DataAdapter обеспечивают связь между источником данных и объектом DataSet, который создает экземпляр части базы данных в оперативной памяти. Объекты DataAdapter способны извлекать данные, заполнять объекты DataTable в DataSet и при необходимости обновлять содержимое источника данных. В DataSet может храниться несколько таблиц, и для каждого объекта DataTable, добавляемого к объекту DataSet, следует создавать собственный объект DataAdapter.

В классе DataAdapter описаны четыре основных свойства, которым должны присваиваться ссылки на объекты класса Command:

  • • SelectCommand – команда для выборки данных;
  • • InsertCommand – команда для вставки новых данных;
  • • UpdateCommand – команда для обновления данных;
  • • DeleteCommand – команда для удаления данных.

Создание объектов класса DataAdapter

Объекты класса Command, которые используются в объекте DataAdapter, можно создавать разными способами:

  • • обычным способом с помощью операции new, как рассматривалось ранее, и присваить полученную ссылку соответствующим свойствам;
  • • использовать конструктор класса DataAdapter для создания команды выборки SelectCommand с помощью заданного оператора SELECT;
  • • если задана команда SelectCommand, то для автоматического создания команд InsertCommand, UpdateCommand и DeleteCommand можно использовать вспомогательного класс Command Builder.

Обязательной командой в DataAdapter является команда SelectCommand. Если адаптер не будет сохранять изменения, сделанные в объекте DataSet в БД, то другие команды можно нс задавать. Для создания этой команды можно в конструктор класса DataAdapter передать текст SQL-оператора Select и ссылку на объект Connection. Например:

SqlDataAdapter prodAdapter = new SqlDataAdapter ("SELECT * FROM Products", prodConnection);

Для автоматического создания других команд (если это простые операторы SQL), можно использовать вспомогательный класс CommandBuilder (он также входит в состав провайдера и требует указания префикса). Он автоматически формирует команды вставки, обновления и удаления на основе заданного оператора SELECT. Для создания всех этих команд достаточно передать ссылку на объект класса DataAdapter в конструктор класса CommandBuilder. Например:

SqlDataAdapter adapter = new SqlDataAdapter(); adapter.SelectCommand = new SqlCommand(queryString, connection); SqlCommandBuilder builder = new SqlCommandBuilder(adapter);

 
< Пред   СОДЕРЖАНИЕ     След >