In response to a Delete command, the record view deletes the current record by calling the Delete
member function of its associated recordset.
To implement the Delete command
OnRecordDelete
starter function in class CSectionForm
.try
{
m_pSet->Delete();
}
catch(CDaoException* e)
{
AfxMessageBox(e->
m_pErrorInfo->m_strDescription);
e->Delete();
}
// Move to the next record after the one just deleted
m_pSet->MoveNext();
// If we moved off the end of file, move back to last record
if (m_pSet->IsEOF())
m_pSet->MoveLast();
// If the recordset is now empty, clear the fields left over
// from the deleted record
if (m_pSet->IsBOF())
m_pSet->SetFieldNull(NULL);
UpdateData(FALSE);
Catch any exceptions thrown by the recordset’s Delete
function so that errors are reported to the user. The CDaoException data member m_pErrorInfo retrieves fairly user-friendly error messages prepared by the underlying CDAOException object.
For the DaoEnrol sample and tutorial, the decision was made to move to the record following the deleted record. You could move to the previous record after a delete operation or anywhere else as long as you, or the user, moves off the deleted record.