| 发表于:2007-10-23 10:29:542楼 得分:0 |
偶估计是你的succeeded()宏使用问题. succeeded provides a generic test for success on any status value. non-negative numbers indicate success. #define succeeded(status) ((hresult)(status) > = 0) 你最好还是这样子写(用failed宏,我这里使用了自定义名字空间adong): try{ //实例化数据库连接 if (failed(m_padoconn.createinstance(__uuidof(adong::connection)))) //__uuidof(adong::connection) { //m_padoconn.release();//还没有实例化成功,不需要release afxmessagebox("ado connection:create connection instance failed!"); //this-> sendmessage(wm_close); return false; } } 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()); // 错误描述 messagebox(strcomerror,"数据库错误",mb_iconexclamation); //this-> sendmessage(wm_close); return false; } | | |
|