CRecordset::excluir

Exclui o registro corrente.

virtual void Delete( );

Comentários

Após uma exclusão bem-sucedida, membros de dados de campo do conjunto de registros são definidos como um valor nulo e você deve chamar explicitamente um o Mover funções para mover desativar o registro excluído.Depois de mover-se desativar o registro excluído, não é possível retornar a ele.Se a fonte de dados oferece suporte a transações, você poderá tornar o Excluir telefonar parte de uma transação.Para obter mais informações, consulte o artigo Transação (ODBC).

Observação:

Se você implementou a busca de linha em massa, você não poderá telefonar Excluir.Isso resultará em uma declaração com falha.Embora a classe CRecordset não fornece um mecanismo para a atualização em massa linhas de dados, você pode gravar suas próprias funções utilizando a função de API do ODBC SQLSetPos.Para obter mais informações sobre buscar a linha em massa, consulte o artigo conjunto de registros: Buscando os registros em massa (ODBC).

Cuidado:

O conjunto de registros deve ser correnteizável e deve haver um registro válido corrente no conjunto de registros quando você telefonar Excluir; caso contrário, ocorrerá um erro.Por exemplo, se você excluir um registro, mas não rolar para um novo registro antes de você telefonar Excluir again, Excluir throws a CDBException.

Ao contrário de AddNew and edição, a telefonar to Excluir não é seguido por uma telefonar para Atualização.If a Excluir telefonar falhar, os dados do campo membros são deixados inalteradas.

Exceções

Esse método pode lançar exceções do tipo CDBException *.

Exemplo

Este exemplo mostra um conjunto de registros criado no quadro de uma função.O exemplo supõe a existência de m_dbCust, uma variável de membro de tipo CDatabase já conectado a uma fonte de dados.

// Create a derived CRecordset object
CCustomer rsCustSet(&m_dbCust);
rsCustSet.Open();

if(rsCustSet.IsEOF() || !rsCustSet.CanUpdate() ||
   !rsCustSet.CanTransact())
{
   return;
}

m_dbCust.BeginTrans();

// Perhaps scroll to a new record...
// Delete the current record
rsCustSet.Delete();

// Finished commands for this transaction
if(IDYES == AfxMessageBox(_T("Commit transaction?"), MB_YESNO))
   m_dbCust.CommitTrans();
else // User changed mind
   m_dbCust.Rollback();

Requisitos

Cabeçalho: afxdb.h

Consulte também

Referência

Classe CRecordset

Gráfico de hierarquia

CDatabase::BeginTrans

CDatabase::CommitTrans

CDatabase::reversão

Classe CDBException

Outros recursos

CRecordset membros