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


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