Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shpory_1-44.docx
Скачиваний:
19
Добавлен:
21.04.2019
Размер:
1.07 Mб
Скачать

41. Ado.Net. Синхронизация набора данных с бд. Основные свойства и методы. Класс CommandBuilder.

Пусть в наборе данных заносится информация из БД при помощи адаптера

SqlDataAdapter da = new SqlDataAdapter(…);

DataSet CD_Rent = new DataSet(“CD_Rent”);

da.Fill(CD_Rent, “Artists”);

Попытка выполнения кода вызовет исключительную ситуацию:

CD_Rent.Tables[“Artists”].Rows[3][“name”] = “Alex”;

da.Update(CD_Rent, “Artists”);

Программист может настроить необходимые команды вручную, но сущесвует класс CommandBuilder для автоматической генерации команд адаптера

Работа с ним происходит следующим образом:

1) Создаётся объект класса и связывается с определённым адаптером данных, у которого уже задана команда SelectComand.

2) После установки подобной связи CommandBuilder отслеживает событие обновления строки данных, которое происходит при вызове метода Update(), генерирует и выполняет необходимые SQL-команды на основе текста команды SELECT.

Построение команд для адаптера, с которым мы работаем используя CommandBuilder будет иметь вид:

// Создаём объект CommandBuilder и связываем его с адаптером

SqlCommandBuilder cb = newSqlCommandBuilder (da);

// И, собственно, всё! Можем работать с методом Update()

da.Update (CD_Rent, “Artists”);

CommandBuilder генерирует правильные команды обновления, если выполняются все следующие условия:

  • запрос возвращает данные только из одной таблицы

  • в таблице в БД определён первичный ключ

  • первичный ключ есть в результатах вашего запроса

Недостаток – объект класса CommandBuilder не предоставляет максимальной производительности.

Имя свойства или метода

Описание:

DataAdapter

Свойство позволяет просмотреть или изменить объект DataAdapter сопоставленный с объектом CommandBuilder. Значение этого свойства можно задать в конструкторе объекта Command Builder

DeriveParameters()

Статический метод. Получать в качестве параметра объект-команду для вызова хранимой процедуры. На основании информации из БД заполняет коллекцию Parameters команды-параметра

GetDeleteCommand

Возвращает объект Command с логикой для свойства DeleteComman объекта DataAdapter

GetInsertCommand()

Возвращает Command с логикой для свойства InsertCommand объекта DataAdapter

GetUpdateCommand()

Возвращает объект Command с логикой для свойства UpdateCommand объекта DataAdapter

QuotePrefix

Содержит префикс, используемый CommandBuilder для имён таблиц и столбцов в генерируемых им запросах

QuoteSuffix

Содержит суффикс, используемый CommandBuilder для имён таблиц, и столбцов в генерируемых им запросах

RefreshSchema()

Указывает объекту CommandBuilder создать логику обновления заново.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]