错误捕获
在数据绑定中,错误捕获来自两个源:错误事件和错误对象。
通过错误事件捕获错误
ADO 数据控件和 RDO RemoteData 控件数据控件都具有错误事件。 通常,设置错误事件处理程序。 事件处理程序具有以下签名。
void CMyDlg::OnErrorAdodc1(long ErrorNumber,
BSTR* FAR Description,
long Scode,
LPCTSTR Source,
LPCTSTR HelpFile,
long HelpContext,
BOOL FAR* fCancelDisplay)
Description 字段一般情况下都被填充,而 ErrorNumber 和 Scode 字段只在 COM 错误事件中被填充。 标准的事件处理程序在消息框中显示 Description 字段。 例如:
{
USES_CONVERSION;
// note: have to include the ATL file ATLConv.h to use the ATL conversion macros
::AfxMessageBox(OLE2T(*Description), MB_OK);
}
然而,ADO 数据控件和 RDO RemoteData 控件已被设置为捕获错误事件,因此不需要编码。
通过错误对象捕获错误
ADO 和 RDO 都具有错误对象。 当生成包装类时,RDO RemoteData 控件生成错误对象的包装,而 ADO 数据控件不生成。
ADO 数据控件自动显示 ADO 错误信息。