CRecordset::Edit

віртуальний недійсними Edit( );
кинути ( CDBException, CMemoryException );

Зауваження

Телефонуйте цієї функції-члена дозволити зміни, внесені до поточного запису. Після того, як ви називаєте, редагування, ви можете змінити члени дані поля безпосередньо після скидання їх значень. Завершити операцію, коли ви називаєте згодом оновлення член функції зберегти зміни джерела даних.

Примітка   Якщо ви здійснили, отримання рядків навалом, ви не можете зателефонувати, редагування. У результаті буде невдалих твердження. Хоча клас CRecordset не надає механізм для оновлення навалом рядків даних, ви можете написати свій власний функції за допомогою функції ODBC API SQLSetPos. Приклад того, як це зробити, перегляньте зразок DBFETCH. Щоб отримати додаткові відомості про отримання рядків навалом, перегляньте статтю набір записів: вилучення записів у базову (ODBC) в Visual C++ програміста керівництво.

Редагувати збереження значень у наборі записів даних членів. Якщо ви виклику, Редагувати, внести зміни, то знову закликаю редагування , запису значення відновлені вони були до першого дзвінка редагування.

У деяких випадках ви можете оновити стовпця, зробивши його значення Null (що містять дані відсутні). Для цього зателефонуйте SetFieldNull з параметром з правда, щоб позначити поле значення Null; Це також призводить до стовпця буде оновлюватися. Якщо потрібно, щоб поле бути написані до джерела даних, навіть якщо його значення не змінилася, телефонуйте SetFieldDirty з параметром з ПРАВДОЮ. Це працює, навіть якщо поля значення Null.

Якщо джерело даних підтримує угоди, ви можете зробити, Редагувати назвати частиною транзакції. Зверніть увагу, що ви повинні назвати CDatabase::BeginTrans перед викликом, Редагувати , і після того, як відкрити набір записів. Також зверніть увагу, що закликають CDatabase::CommitTrans не є заміною для виклику оновлення для завершення операції редагування . Щоб отримати додаткові відомості про угоди побачити клас CDatabase.

Залежно від того, блокування режимі запису оновлюється може бути заблокований при Редагувати поки ви називаєте Update або перейдіть до іншого запису, або вона може бути заблокованою лише під час редагування дзвінка. Ви можете змінити блокування режимі з SetLockingMode.

Попереднє значення поточного запису відновлюється, якщо ви перейдіть до нового запису перед викликом оновлення. CDBException кинули, якщо ви називаєте редагування для записів, які неможливо оновити, або якщо немає жодного поточного запису.

Докладніше, перегляньте статті Операції (ODBC) і набір записів: блокування записів (ODBC) в Visual C++ програміста керівництво.

Приклад

 / / Приклад для CRecordset::Edit
/ / Редагування запису,
/ / Спочатку настроїти змінити буфера
rsCustSet.Edit ();

/ / Редагувати поля даних членів для запису
rsCustSet.m_dwCustID = 2795;
rsCustSet.m_strCustomer = "Джонс Mfg";

/ / Нарешті, завершення операції
Якщо (! rsCustSet.Update ())
    / / Ручка неможливість оновлення

Огляд CRecordsetЧлени класу | Ієрархічна діаграма

Дивіться такожnbsp;CRecordset::Update, CRecordset::Add&New, CRecordset::Delete, CRecordset::SetFieldDirty, CRecordset::SetFieldNull, CRecordset::CanUpdate, CRecordset::CanTransact, CRecordset::SetLockingMode

Index