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