Практическое руководство. Установка порядка выполнения иерархического обновления

Обновлен: Ноябрь 2007

При сохранении измененных данных набора данных в базе данных (с включенной опцией иерархического обновления) можно управлять порядком, который TableAdapterManager использует для отправки отдельных команд Вставки, Обновления и Удаления, необходимых для сохранения данных. Порядок по умолчанию для выполнения иерархического обновления – Вставки, Обновления и затем Удаления. TableAdapterManager предоставляет свойство UpdateOrder, которое может быть задано для выполнения сначала Обновлений, потом Вставок и Удалений.

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

Изменение порядка так, чтобы сначала выполнялись Обновления, может быть полезно при изменении значений первичного ключа для существующих записей. Как и ожидалось, первоочередное выполнение Обновления изменит существующую запись. Первоочередное выполнение Вставки будет создавать новую запись, так как новый первичный ключ еще отсутствует в базе данных.

Процедура

Чтобы задать порядок, в котором выполняется иерархическое обновление:

  1. В режиме конструктора откройте форму, содержащую TableAdapterManager, который выполняет обновление.

  2. Нажмите кнопку TableAdapterManager в панели компонентов.

  3. Укажите свойство UpdateOrder в окне Свойства, чтобы задать порядок выполнения операций, необходимый для приложения.

Чтобы программно задать порядок, в котором выполняется иерархическое обновление:

  • Следующий код устанавливает TableAdapterManager, чтобы он сначала выполнял все Обновления, затем все Вставки и потом Удаления. (Замените yourDataSetTableAdapters допустимым именем из проекта.)

    Me.TableAdapterManager.UpdateOrder = _
    yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.UpdateInsertDelete
    
    this.tableAdapterManager.UpdateOrder = 
    yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.UpdateInsertDelete;
    
  • Следующий код задает TableAdapterManager, чтобы он сначала выполнял все Вставки, затем все Обновления, и потом Удаления. Это режим работы TableAdapterManager по умолчанию.

    Me.TableAdapterManager.UpdateOrder = _
    yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete
    
    this.tableAdapterManager.UpdateOrder = 
    yourDataSetTableAdapters.TableAdapterManager.UpdateOrderOption.InsertUpdateDelete;
    

См. также

Задачи

Практическое руководство. Разрешение и запрет иерархического обновления

Пошаговое руководство. Сохранение данных связанных таблиц данных (иерархическое обновление)

Основные понятия

Общие сведения об иерархическом обновлении

Общие сведения о сохранении данных

Новые возможности данных