Interceptación de errores
En el enlace de datos, la interceptación de errores tiene dos orígenes: los eventos de error y los objetos de error.
Interceptación de errores mediante eventos de error
Tanto el control de datos ADO como el control RemoteData de RDO tienen eventos de error.Normalmente, deberá establecer un controlador de eventos.Los controladores de eventos tienen la siguiente firma:
void CMyDlg::OnErrorAdodc1(long ErrorNumber,
BSTR* FAR Description,
long Scode,
LPCTSTR Source,
LPCTSTR HelpFile,
long HelpContext,
BOOL FAR* fCancelDisplay)
Normalmente, el campo Description contiene datos, pero los campos ErrorNumber y Scode sólo si se dan errores COM.Un controlador de eventos estándar debe mostrar el campo Description en un cuadro de mensaje.Por ejemplo:
{
USES_CONVERSION;
// note: have to include the ATL file ATLConv.h to use the ATL conversion macros
::AfxMessageBox(OLE2T(*Description), MB_OK);
}
Sin embargo, el control de datos ADO y el control RemoteData de RDO ya están configurados para interceptar eventos de error, por lo que no es necesario agregar código.
Interceptación de errores mediante objetos de error
Tanto ADO como RDO tienen objetos de error.Al generar clases contenedoras, el control RemoteData de RDO genera contenedores para los objetos de error; en cambio, el control ADO no los genera.
El control de datos ADO muestra automáticamente los mensajes de error de ADO.