Свойство EditMode

Указывает состояние редактирования текущей записи.

Возвращаемое значение

Возвращает значение EditModeEnum .

Комментарии

ADO поддерживает буфер редактирования, связанный с текущей записью. Это свойство указывает, были ли внесены изменения в этот буфер или была ли создана новая запись. Используйте свойство EditMode , чтобы определить состояние редактирования текущей записи. Вы можете проверить наличие ожидающих изменений, если процесс редактирования был прерван, и определить, нужно ли использовать метод Update или CancelUpdate .

В режиме немедленного обновления свойство EditMode сбрасывается до adEditNone после успешного вызова метода Update . Если при вызове Delete не удается удалить запись или записи в источнике данных (например, из-за нарушений целостности ссылок), набор записей остается в режиме редактирования (EditMode = adEditInProgress). Поэтому перед удалением текущей записи необходимо вызвать CancelUpdate (например, с помощью функции Move, NextRecordset или Close).

В режиме пакетного обновления (в котором поставщик кэширует несколько изменений и записывает их в базовый источник данных только при вызове метода UpdateBatch ) значение свойства EditMode изменяется при выполнении первой операции и не сбрасывается вызовом метода Update . Последующие операции не изменяют значение свойства EditMode , даже если выполняются другие операции. Например, если первая операция заключается в добавлении новой записи, а вторая вносит изменения в существующую запись, свойство EditMode по-прежнему будет иметь значение adEditAdd. Свойство EditMode не сбрасывается до adEditNone до тех пор, пока не будет вызывать UpdateBatch. Чтобы определить, какие операции были выполнены, задайте для свойства Filter значение adFilterPending, чтобы отображались только записи с ожидающими изменениями, и проверьте свойство Status каждой записи, чтобы определить, какие изменения были внесены в данные.

Примечание

EditMode может возвращать допустимое значение только при наличии текущей записи. EditMode вернет ошибку, если BOF или EOF имеет значение true или если текущая запись была удалена.

Применение

Объект Recordset (ADO)

См. также:

Пример свойств CursorType, LockType и EditMode (VB)
Пример свойств CursorType, LockType и EditMode (VC++)
Метод AddNew (ADO)
Метод Delete (объект Recordset ADO)
Метод CancelUpdate (ADO)
Метод Update