Interceptação de erros
Em ligação de dados, a interceptação de erro vem de duas fontes: eventos de erro ou objetos de erro.
Erro de ajuste de registro por meio de eventos de erro
O controle de dados do ADO e os controles de dados de controle RemoteData do RDO tem eventos de erro. Normalmente, você pode definir um manipulador de eventos de erro. Os manipuladores de eventos tem a assinatura a seguir.
void CMyDlg::OnErrorAdodc1(long ErrorNumber,
BSTR* FAR Description,
long Scode,
LPCTSTR Source,
LPCTSTR HelpFile,
long HelpContext,
BOOL FAR* fCancelDisplay)
Geralmente o campo de descrição é preenchido, mas os campos ErrorNumber e Scode só são preenchidos no caso de erros COM. Um manipulador de eventos padrão é exibir o campo de descrição em uma caixa de mensagem. For example:
{
USES_CONVERSION;
// note: have to include the ATL file ATLConv.h to use the ATL conversion macros
::AfxMessageBox(OLE2T(*Description), MB_OK);
}
No entanto, porque o controle de dados do ADO e o controle do RDO RemoteData já configuradas para interceptar eventos de erro, sem codificação é necessária.
Erro de Trapping de objetos de erro
ADO e o RDO tem objetos de erro. Ao gerar classes wrapper, o controle RemoteData do RDO gera invólucros para objetos de erro, mas não o controle de dados do ADO.
O controle de dados do ADO exibe automaticamente as mensagens de erro do ADO.