CRecordset::Update

Выполняет операцию AddNew или Изменить путем сохранения новых или отредактированные данных в источнике данных.

virtual BOOL Update( );

Возвращаемое значение

Ненулевой если одна запись была успешно обновлена; в противном случае – значение 0, если столбцы не изменились.Если никакие записи не были обновлены или если более чем одна запись была обновлена, возникает исключение.Исключение также вызывается для любого другого сбоя в источнике данных.

Заметки

Эта функция-член вызывается после обращения к функции-члену AddNew или правка.Требуются выполняет этот вызов операции AddNew или Изменить.

ПримечаниеПримечание

Если реализован bulk строку выборку, то нельзя вызывать Обновить.Это приведет к становятся утверждении.Хотя класс CRecordset не предоставляет механизм для обновления массовые строки данных, можно написать собственные функции с помощью api-функций ODBC SQLSetPos.Дополнительные сведения о массовой строке выборке см. в статье Набор записей. Пакетная выборка строк (ODBC).

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

Если источник данных поддерживает транзакции, то это можно сделать Обновить часть вызова своих соответствующих AddNew или вызова Изменить ) (и транзакции.Дополнительные сведения о транзакциях см. в статье транзакция (ODBC).

Предупреждающее замечаниеВнимание

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

Дополнительные сведения об обработке ошибок Обновить см. в статье Набор записей. Порядок обновления записей в наборе (ODBC).

Исключения

Этот метод может создавать исключения типа CDBException*.

Пример

См. статью транзакция: Выполнение транзакции в наборе записей (ODBC).

Требования

Header: afxdb.h

См. также

Ссылки

Класс CRecordset

Диаграмма иерархии

CRecordset::Edit

CRecordset::AddNew

CRecordset::SetFieldDirty

Класс CDBException