CRecordset::Delete

Виртуальный void Удаление ( );
бросить ( CDBException );

Примечания

Этот член функция вызывается для удаления текущей записи. После успешного удаления элементам данных полей, присваивается значение Null, и необходимо явно вызвать одну из функций переместить для перемещения с удаленной записи. После того как вы двигаете с удаленной записи, невозможно вернуться к нему. Если источник данных поддерживает транзакции, можно сделать Удалить вызов частью транзакции. Для получения дополнительных сведений см. статью Транзакций (ODBC) в Руководстве Visual C++ программист.

Примечание   При реализации групповой выборки строк, вызвать Удалитьнельзя. Это приведет к неудачной утверждение. Хотя класс CRecordset не поддерживает механизм обновления массовая строк данных, вы можете написать свои собственные функции, используя функцию интерфейса API ODBC SQLSetPos. В качестве примера того, как это сделать, см. пример DBFETCH. Дополнительные сведения о групповой выборки строк, найти в статье набор записей: выборка записей (ODBC) в Руководстве по Visual C++ программист.

Осторожно   Набор записей должен быть обновляемым и должна существовать допустимая запись в наборе записей при вызове удаления; в противном случае возникает ошибка. Например если удалить запись, но не перейдет к новой записи перед вызовом метода удаления снова, Удалить генерирует CDBException.

В отличие от AddNew и редактироватьвызов для удаления следует не путем вызова Update. Если Удалить не удается, поля данных членов остаются без изменений.

Пример

Этот пример показывает набор записей, созданных на раме функции. В этом примере предполагается существование m_dbCust , переменная-член типа CDatabase уже подключены к источнику данных.

/ / Создать производный объект CRecordset
CCustSet rsCustSet (amp m_dbCust);
rsCustSet.Open ();

Если ((rsCustSet.IsEOF) ||! (rsCustSet.CanUpdate) ||
    ! rsCustSet.CanTransact ())
   возвращение;

Если (! m_dbCust.BeginTrans ())
{
   / / Сделать что-то для обработки сбоя
}
остальное
{
   / / Возможно перейдет к новой записи...
   / / Удалить текущую запись
   rsCustSet.Delete ();
   // ...

/ / Завершения команды для этой транзакции
   Если (< пользователь подтверждает транзакцию >)
      m_dbCust.CommitTrans ();
   else / / пользователь изменил мнение
      m_dbCust.Rollback ();
}
//

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

См. также Database::BeginTrans, CDatabase::CommitTrans, CDatabase::Rollback, CDBException

Index