Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка приложений баз данных (Visual Studio 2008).docx
Скачиваний:
143
Добавлен:
26.03.2016
Размер:
1.01 Mб
Скачать

Метод обновления TableAdapter

TableAdapter использует команды данных для для чтения и записи в базу данных. Начальный (основной) запрос адаптера Fill используется в качестве основы для создания схемы связанной таблицы данных, а также команд InsertCommand, UpdateCommand и DeleteCommand, связанных с методом TableAdapter.Update. Это означает, что вызов метода Update адаптера таблицы выполняет инструкции, созданные при первоначальной настройке адаптера, и ни один из дополнительных запросов не добавлен при помощи Мастера настройки запросов адаптера таблиц.

Во время использования адаптер таблиц эффективно выполняет некоторые операции при помощи команд, которые обычно выполняете вы. Например, при вызове метода Fill адаптера, он выполняет команду в его свойстве SelectCommand и использует считыватель данных (например SqlDataReader) для загрузки результирующего набора в таблицу данных. Аналогично, при вызове метода Update адаптера, он выполняет соответствующую команду (в свойствах UpdateCommand, InsertCommand и DeleteCommand) для каждой измененной записи в таблице данных.

Примечание. Если имеется достаточно сведений в главном запросе, то команды InsertCommand, UpdateCommand и DeleteCommand создаются по умолчанию при создании адаптера таблицы. Если основной запрос адаптера таблицы сложнее, чем одиночная инструкция SELECT, то, возможно, конструктор не сможет создать InsertCommand, UpdateCommand и DeleteCommand. Если эти команды не созданы, то при выполнении метода TableAdapter.Update появится ошибка.

Методы GenerateDbDirectMethods адаптера таблицы

В дополнение к InsertCommand, UpdateCommand и DeleteCommand, адаптеры таблиц создаются с помощью методов, которые могут быть выполнены непосредственно в базе данных. Эти методы (TableAdapter.Insert, TableAdapter.Update и TableAdapter.Delete) можно вызывать напрямую для работы с данными в базе данных.

Если нет необходимости создавать эти прямые методы, назначьте свойству GenerateDbDirectMethods значение false в окне Свойства. Дополнительные запросы, добавляемые в адаптер таблиц, являются отдельными запросами – они не создают методы.

Создание запросов TableAdapter.

Запросы TableAdapter являются инструкциями SQL или сохраненными процедурами, которые приложение может выполнять в базе данных.

В TableAdapter можно добавлять столько запросов, сколько требуется в приложении. Запросы TableAdapter отображаются в виде методов на TableAdapter. При создании запроса с именем FillByCity, принимающего параметр, представляющий значение города, запрос добавляется в TableAdapter. Он добавляется в качестве типизированного метода, который принимает корректный тип параметра в качестве аргумента – в данном случае строку, представляющую значение города. Любой запрос TableAdapter вызывается так же, как любой метод на любом объекте. Например, следующий код выполняет запрос FillByCity и заполняет таблицу Customers значениями клиентов со значением города, равным Seattle:

string cityValue = "Seattle";

customersTableAdapter.FillByCity(northwindDataSet.Customers, cityValue);

Запросы TableAdapter могут заполнять таблицы данных (запросы Fill и FillBy) или возвращать новые заполненные таблицы данных по запросам (запросы GetData и GetDataBy).

Можно добавить запросы для существующих TableAdapter, запустив мастер Мастер настройки запроса адаптера таблицы. (Щелкните правой кнопкой мыши TableAdapter и выберите командуДобавить запрос.)

Создание запроса в Конструкторе наборов данных