CDaoRecordset::AddNew

виртуальный void AddNew ();
броска (CDaoException, CMemoryException);

Примечания

Этот член функция вызывается для добавления новой записи в таблицы типа или типа динамического набора записей. Рекорд поля, первоначально равно Null. (В терминологии баз данных, значение Null означает «никакого значения» и не является таким же, как NULL в C++). Для завершения операции, необходимо вызвать функцию-член Update . Обновление сохраняет изменения в источнике данных.

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

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

Позиция новой записи зависит от типа набора записей:

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

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

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

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

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

Примечаниеnbsp;  Если записи двойной буферизацией (то есть, автоматические поля включена проверка), вызов CancelUpdate вернет переменных-членов к ценностям, они были до того, как был вызван Add&New или Edit.

Для получения дополнительных сведений об обновлении записи, см. статью записей DAO: набор записей операций в Руководстве по Visual C++ программист. Сопутствующую информацию приведены в разделах «AddNew метод», «CancelUpdate метод», «LastModified собственности» и «Свойства EditMode» в справке DAO.

Обзор CDaoRecordsetЧлены класса | Иерархическая схема

См. также CDaoRecordset::CanUpdate, CDaoRecordset::CancelUpdate, CDaoRecordset::Delete, CDaoRecordset::Edit, CDaoRecordset::Update, CDaoRecordset::CanTransact

Index