Поделиться через


CRecordset::AddNew

Подготавливает для добавления новой записи в таблицу.

virtual void AddNew( );

Заметки

Необходимо вызвать функцию-член Requery, чтобы увидеть вновь добавленную запись. Поля записи исходного значения null. (В терминологии базы данных, null означает "не имеет значения" и не совпадает с NULL в C++). Для выполнения этой операции необходимо вызвать функцию-член обновление. Обновить сохраняет изменения в источнике данных.

Примечание

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

AddNew подготавливает новую пустую запись с использованием элементов данных полей в наборе записей. После вызова AddNew задайте значения в элементах данных полей в наборе записей. (Не следует вызвать функцию-член правка для этой цели; используйте Изменить только для существующих записей). При нажатии далее вызовите Обновить, измененные значения в элементах данных полей сохранены в источнике данных.

Предупреждение

Если перейдите к новому рекорду, прежде чем вызывать метод Обновить, новая запись потерян, предупреждение не предоставляется.

Если источник данных поддерживает транзакции, то можно сделать свою часть вызова AddNew транзакции. Дополнительные сведения о транзакциях см. в описании класса CDatabase. Обратите внимание, что необходимо вызывать перед вызовом CDatabase::BeginTransAddNew.

Примечание

Для динамических подмножеств данных, новые записи добавлены к набору записей в качестве последней записи.Добавленные записи не добавлены к моментальным снимкам; необходимо вызвать Requery для обновления набора записей.

Недопустимо вызывать AddNew для набора записей функции-члена Открыть которого не был вызван. CDBException возникающее, если вызывается AddNew набора записей, который не может быть добавлено. Можно указать быть обновляемым, является ли набор записей путем вызова CanAppend.

Дополнительные сведения см. в следующих статьях: Набор записей. Порядок обновления записей в наборе (ODBC), Набор записей. Добавление, обновление и удаление записей (ODBC) и транзакция (ODBC).

Исключения

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

Пример

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

Требования

Header: afxdb.h

См. также

Ссылки

Класс CRecordset

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

CRecordset::Edit

CRecordset::Delete

CRecordset::Update

CRecordset::Requery

CDatabase::BeginTrans

Класс CDBException