Диалоговое окно "Дополнительные параметры создания SQL"
Позволяет контролировать способ создания инструкций SQL или хранимых процедур для адаптера. Диалоговое окно появляется при нажатии кнопки Дополнительные параметры на странице SQL инструкции одного из мастеров данных. Все параметры в этом диалоговом окне относятся к инструкциям или процедурам, которые вызываются как часть процедуры обновления (например CustomersTableAdapter.Update(DataTable)).
Список элементов пользовательского интерфейса
Создать инструкции Insert, Update и Delete
Если выбран этот элемент, мастер создаст инструкции SQL или хранимые процедуры объектов адаптера UpdateCommand, InsertCommand и DeleteCommand. Характеристиками создаваемых инструкций или процедур управляет область мастера Выбор типа запроса. Если этот флажок снят, остальные параметры диалогового окна недоступны, так в этом случае они неприменимы.Как правило, этот флажок не устанавливается в следующих случаях:
Адаптер будет использоваться только для чтения данных из источника, а не для записи. Оставляя этот флажок снятым, можно уменьшить объем кода в форме или компоненте.
Команды будут заполнены пользователем вручную по окончании работы мастера.
Если флажок снят, а для объектов UpdateCommand, InsertCommand или DeleteCommand отсутствуют инструкции или сохраненные процедуры, вызов метода Update адаптера данных не приведет к выполнению каких-либо действий.
Использовать оптимистическую блокировку
Если этот флажок установлен, мастер создает команду SQL с предложением WHERE, соответствующим значению каждого столбца в записи, которая обновляется при наличии изменений в соответствующей записи в базе данных.Примечание
Этот параметр доступен только в том случае, если установлен флажок Создать команды Insert, Update и Delete.
Например, синтаксис для инструкции Update, созданной таким образом, может быть следующим:
UPDATE Customers SET CustomerID = ?, CompanyName = ?, Phone = ? WHERE (CustomerID = ?) AND (CompanyName = ?) AND (Phone = ? OR ? IS NULL AND Phone IS NULL);
Если бы этот флажок был снят, синтаксис был бы следующим:
UPDATE Customers SET CustomerID = ?, CompanyName = ?, Phone = ? WHERE (CustomerID = ?)
Результат проверки значения каждого столбца заключается в том, что команда не выполняется, если какой-либо столбец был изменен. Последнее может произойти, если другой пользователь изменил запись после того, как она был считана в набор данных. Если параметр не выбран, а предложение WHERE просто указывает расположение записи, то изменения, внесенные другими пользователями, могут быть переписаны без предупреждения программы обновления.
Дополнительные сведения о проверке параллельного доступа при обновлении из набора данных см. в разделе Знакомство с одновременным доступом к данным в ADO.NET.
Обновить таблицу данных
Если выбран этот параметр, мастер создает инструкцию Select для каждой команды Update и Insert.Примечание
Этот параметр доступен только в том случае, если установлен флажок Создать команды Insert, Update и Delete.
Инструкция Select добавляется в соответствующий объект команды адаптера и выполняется сразу после завершения выполнения команды Update или Insert. Инструкция Select настроена для возвращения только одной записи — обновленной версии записи.
Примечание
К свойству объекта команды адаптера CommandText можно добавить несколько инструкций, разделяя их точкой с запятой (;).
При получении новой версии записи в набор данных записываются обновленные значения столбца для этой записи, в том числе:
Столбцы, которые база данных заполняет значениями по умолчанию.
Столбцы автоприращения.
Столбцы штампа времени.
Столбцы, измененные результатами триггера базы данных.
Поскольку этот параметр вызывает выполнение двух инструкций для каждого обновления (инструкции Update и последующей инструкции Select), он может быть неэффективным в условиях обновления большей части записей набора данных. В этом случае более эффективно повторно заполнить всю таблицу данных после выполнения всех обновлений.
Примечание
Обновление таблицы данных выполняется только для баз данных, поддерживающих пакетные инструкции SQL.Например Microsoft Access не может обновить таблицу данных в команде, которая также выполняет другие операции.
См. также
Основные понятия
Новые возможности разработки приложений для работы с данными
Привязка элементов управления Windows Forms к данным в Visual Studio
Привязка элементов управления к данным в Visual Studio
Другие ресурсы
Пошаговые руководства работы с данными
Подключение к данным в Visual Studio
Подготовка приложения к получению данных