Interception des erreurs
Dans la liaison de données, l'interception des erreurs émane de deux sources : les événements d'erreur ou les objets d'erreur.
L'interception des erreurs par les événements d'erreur
Le contrôle de données ADO et le contrôle RemoteData RDO possèdent tous deux des événements d'erreur. En principe, vous définissez un gestionnaire d'événements d'erreur. Les gestionnaires d'événements ont la signature suivante.
void CMyDlg::OnErrorAdodc1(long ErrorNumber,
BSTR* FAR Description,
long Scode,
LPCTSTR Source,
LPCTSTR HelpFile,
long HelpContext,
BOOL FAR* fCancelDisplay)
Le champ Description est généralement renseigné, mais les champs ErrorNumber et Scode sont uniquement renseignés en cas d'erreurs COM. Un gestionnaire d'événements standard doit afficher le champ Description dans une boîte de message. Par exemple :
{
USES_CONVERSION;
// note: have to include the ATL file ATLConv.h to use the ATL conversion macros
::AfxMessageBox(OLE2T(*Description), MB_OK);
}
Cependant, le contrôle de données ADO et le contrôle RemoteData RDO sont déjà définis pour intercepter des événements d'erreur et aucun code n'est donc nécessaire.
Interception des erreurs par les objets d'erreur
Les technologies ADO et RDO possèdent toutes deux des objets d'erreur. Lors de la génération de Classes wrapper, le contrôle RemoteData RDO génère des wrappers pour les objets d'erreur, contrairement au contrôle de données ADO.
Le contrôle de données ADO affiche automatiquement des messages d'erreur ADO.
Voir aussi
Référence
Liaison de données avec des contrôles ActiveX dans Visual C++