CRecordset::Delete

virtual privatevoid Excluir ( );
lançar ( CDBException );

Observações

Chame essa função de membro para excluir o registro atual. 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 explicitamente chamar um das funções de Mover para mover desativar o registro excluído. Uma vez que você move desativar o registro excluído, não é possível retornar a ele. Se a fonte de dados oferece suporte a transações, você pode tornar a Excluir chamar parte de uma transação. Para obter mais informações, consulte o artigo Transações (ODBC) no Guia do programador do Visual C++.

&Notanbsp;  Se tiver implementado em massa linha buscando, não é possível chamar Excluir. Isso resultará em uma declaração falha. Apesar de classe CRecordset não fornece um mecanismo para atualizar linhas em massa de dados, você pode gravar suas próprias funções, usando a função de API de ODBC SQLSetPos. Para obter um exemplo de como fazer isso, consulte o exemplo de DBFETCH. Para obter mais informações sobre a linha em massa buscando, consulte o artigo Recordset: Buscar registros em massa (ODBC) no Guia do programador do Visual C++.

Cuidado   O conjunto de registros deve ser atualizável e deve haver um registro válido atual no conjunto de registros quando você chamar Excluir; caso contrário, ocorrerá um erro. Por exemplo, se você excluir um registro, mas não rolar para um novo registro antes de chamar Excluir novamente, exclua lança um CDBException.

Ao contrário AddNew e Editar, uma chamada para Excluir não é seguida por uma chamada para atualização. Se um Excluir chamada falhar, os dados de campo Membros são deixados inalteradas.

Exemplo

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

/ / Criar um objeto de CRecordset derivado
RsCustSet CCustSet (amp; m_dbCust);
rsCustSet.Open ();

se (rsCustSet.IsEOF () | |! rsCustSet.CanUpdate () | |
    ! rsCustSet.CanTransact ())
   retornar;

se (! m_dbCust.BeginTrans ())
{
   / / Fazer algo para lidar com uma falha
}
outra pessoa
{
   / / Talvez rolar para um novo registro...
   / / Excluir o registro atual
   rsCustSet.Delete ();
   // ...

/ / Terminou comandos para esta transação
   se (< usuário confirma a transação >)
      m_dbCust.CommitTrans ();
   else / / usuário mudou de idéia
      m_dbCust.Rollback ();
}
//

Visão geral de CRecordsetMembros de classe | Gráfico de hierarquia

Co&nsulte tambémnbsp;Database::BeginTrans, CDatabase:: CommitTrans, CDatabase::Rollback, CDBException

Index