CRecordset::Edit
Разрешает изменения в текущей записи.
virtual void Edit( );
Заметки
После вызова Изменить можно изменить элементы данных полей непосредственно сбросьте их значения. Операция выполняется при нажатии далее вызовите функцию-член обновление для сохранения изменений в источнике данных.
Примечание
Если реализован bulk строку выборку, то нельзя вызывать Изменить.Это приведет к становятся утверждении.Хотя класс CRecordset не предоставляет механизм для обновления массовые строки данных, можно написать собственные функции с помощью api-функций ODBC SQLSetPos.Дополнительные сведения о массовой строке выборке см. в статье Набор записей. Пакетная выборка строк (ODBC).
Изменить сохраняет значения элементов данных набора записей. При вызове Изменить, внесите изменения, а затем вызовите Изменить значения записи снова извлекается с они были до того, как первый вызов Изменить.
В некоторых случаях может понадобиться обновить столбец, выполнив его null (не содержащий данные). Чтобы сделать это, вызовите SetFieldNull с параметром TRUE для пометки null поля. это также приводит к тому, что столбец должен быть обновлен. Если требуется поле быть написан на источник данных, то даже в том случае, если его значение не изменилось, вызовите SetFieldDirty с параметром TRUE. Это работает даже если поле имело значение null.
Если источник данных поддерживает транзакции, то можно сделать часть вызова Изменить транзакции. Обратите внимание, что необходимо вызывать перед вызовом CDatabase::BeginTransИзменить и после набора записей открыт. Также обратите внимание, что при вызове CDatabase::CommitTrans не суррогата для вызова Обновить для выполнения операции Изменить. Дополнительные сведения о транзакциях см. в описании класса CDatabase.
В зависимости от текущего блокируя режима обновляемой записи может быть блокирована Изменить до тех пор, пока не будет вызван Обновить или прокручивать к другой записи или оно может быть блокировано только во время вызова Изменить. Можно изменить блокируя режим с SetLockingMode.
Предыдущее значение текущей записи восстановлено при прокрутке к новому рекорду перед вызовом Обновить. CDBException возникающее, если вызывается Изменить набора записей, не может быть обновлено или если отсутствует текущая запись.
Дополнительные сведения см. в разделе статьи транзакция (ODBC) и Набор записей. Блокировка записей (ODBC).
Исключения
Этот метод может создавать исключения типа CDBException* и CMemoryException*.
Пример
// To edit a record, first set up the edit buffer
rsCustSet.Edit();
// Then edit field data members for the record
rsCustSet.m_BillingID = 2795;
rsCustSet.m_ContactFirstName = _T("Jones Mfg");
// Finally, complete the operation
if(!rsCustSet.Update())
{
// Handle the failure to update
AfxMessageBox(_T("Couldn't update record!"));
}
Требования
Header: afxdb.h