CDaoRecordset::Edit

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

Примечания

Вызовите эту функцию-член разрешить изменения для текущей записи.

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

Осторожно   Если вы измените запись и затем выполнить любую операцию, которая переходит к другой записи без первого вызова Update, ваши изменения будут потеряны без предупреждения. Кроме того если закрыть набора записей или базы данных, родитель, отредактированная запись удаляется без предупреждения.

В некоторых случаях может потребоваться обновить столбец, сделав его Null (содержащие данные отсутствуют). Для этого нужно вызовите метод SetFieldNull с параметром TRUE для обозначения поля Null; Это также приводит к столбец обновлен. Если вы хотите поля для записи к источнику данных, даже если его значение не изменилось, вызовите SetFieldDirty с параметром TRUE. Это работает, даже если поле имеет значение Null.

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

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

Объект набора записей, заблокированной пессимистично в многопользовательской среде, записей останки, к морю от времени редактирования используется до тех пор, пока обновление будет завершено. Если набор записей оптимистически заблокирован, запись заблокирована и по сравнению с pre-edited записью непосредственно перед ее обновления в базе данных. Если запись была изменена так, как вы назвали, редактировать, операция обновления завершается неудачей и MFC создает исключение. Вы можете изменить режим блокировки с SetLockingMode.

Примечание   Оптимистические блокировки всегда используется на внешней базы данных форматов, таких как ODBC и устанавливаемый драйвер ISAM.

Текущая запись остаются актуальными после того, как вы называете, редактировать. Чтобы позвонить, редактировать, должен быть текущей записи. Если нет никаких текущую запись или набор записей относится не к открытый тип таблицы или объекта recordset динамического, возникает исключение. Вызов редактировать вызывает CDaoException для генерируется при следующих условиях:

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

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

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

См. такжеnbsp;CDaoRecordset::Add&New, CDaoRecordset::CancelUpdate, CDaoRecordset::CanTransact, CDaoRecordset::Delete, CDaoRecordset::Update

Index