如果不想使用Command对象执行查询,可将查询字符串传送给Connection对象的Execute方法或者Recordset对象的Open方法。但是当需要使用命令文本具有持久性并重新执行它,或使用查询参数时,则必须使用Command对象。
每个Error对象都代表特定的提供者错误而不是ADO错误,而ADO错误被记载到运行时的例外处理机制中。 catch (_com_error e)
{
CString strComError;
strComError.Format("错误编号: %08lx/n错误信息: %s/n错误源: %s/n错误描述: %s",
e.Error(), // 错误编号
e.ErrorMessage(), // 错误信息
(LPCSTR) e.Source(), // 错误源
(LPCSTR) e.Description()); // 错误描述
AfxMessageBox(strComError);
}