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


CDaoRecordset::AddNew

Эта функция-член вызывается для добавления новой записи в набор записей является динамическим подмножеством данных- табличного типа или типа.

virtual void AddNew( );

Заметки

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

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

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

При добавлении записи в набор записей является динамическим подмножеством данных- типа путем вызова AddNew, то запись является видимой в наборе записей и включена в базовой таблице, где она становится видимой на любые новые объекты CDaoRecordset.

Положение зависит от новой записи тип набора записей.

  • Набор записей является динамическим подмножеством данных- типа, где вводится новая запись не гарантирует. Эта функциональности изменилась с двигателем 3,0 Майкрософт для увеличения производительности и параллелизма. Если цель сделать только что добавленной записи текущую запись, получите закладку записи измененной последним и перейти к этой закладке.

    rs.SetBookmark(rs.GetLastModifiedBookmark());
    
  • В наборе записей пользователем табличный тип, для которого индекс был указан, возвращаются в записи их правильном месте в порядке сортировки. Если индекс не был указан, то новые записи возвращаются в конце набора записей.

Запись, которая была текущей прежде чем использовать AddNew остается текущий. Если требуется сделать текущую новой записи и поддерживает закладки набора записей, вызовите SetBookmark к указанной закладке устанавливать свойства LastModified базового объекта набора записей DAO. Это полезно для определения значения счетчиков полей (шаг приращения) в ПУСТО добавленной записи. Дополнительные сведения см. в разделе GetLastModifiedBookmark.

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

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

Измененные границы которые отмечают элементы данных полей, чтобы убедиться, что они будут записывано для записи в источнике данных, механизмом обмена полями записей DAO (DFX). Изменение значения поля обычно устанавливает поля пакостным автоматически, поэтому вам самостоятельно редко будет необходимо вызвать SetFieldDirty, но иногда может потребоваться обеспечить, что столбцы будут вставлены явным образом будут обновлены или вне зависимости от того, какое значение в элементе данных поля. Механизм DFX также использует использование PSEUDO NULL. Дополнительные сведения см. в разделе CDaoFieldExchange::m_nOperation.

Если механизм двойной- буферизации не используется, то изменение значения поля автоматически не устанавливает поле как пакостный. В этом случае будет необходимо явно задать поле пакостным. Пометить, содержащихся в m_bCheckCacheForDirtyFields отслеживает этот автоматическая проверка поля.

Примечание

Если двойной- буферизуются записи (то есть, автоматическая проверка полей включен), то вызов CancelUpdate извлекает переменные-члены к значениям, прежде чем они имели AddNew или Изменить были Вызываются.

Дополнительные сведения см. в разделах "метода AddNew", "метод CancelUpdate", "свойство LastModified" и "свойства EditMode" в Справке DAO.

Требования

Header: afxdao.h

См. также

Ссылки

Класс CDaoRecordset

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

CDaoRecordset::CanUpdate

CDaoRecordset::CancelUpdate

CDaoRecordset::Delete

CDaoRecordset::Edit

CDaoRecordset::Update

CDaoRecordset::CanTransact