关于 Unhandled exception 的问题,各位大侠帮帮忙!
小弟在使用ADO编程中遇到如下问题:
在Mainframe.h中定义全局变量:
_ConnectionPtr m_connection;
_RecordsetPtr m_recordset;
然后在Mainframe.cpp中的CMainFrame::OnCreate函数中进行了初始化
CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
......
::CoInitialize(NULL); //初始化
hr = m_connection.CreateInstance(_uuidof(Connection));
if(SUCCEEDED(hr))
hr = m_connection->Open(source, user, pwd, 16);
if(SUCCEEDED(hr))
hr = m_recordset.CreateInstance(_uuidof(Recordset));
......
_variant_t strQuery;
strQuery = "select * from table1";
m_recordset->Open(strQuery, m_connection.GetInterfacePtr(), adOpenStatic, adLockOptimistic, adCmdUnknown);//这是在CMainFrame::OnCreate中。
每次运行到这里都会得到:Runtime Error,abnomal program termination.
单步运行程序,则出现“First-chance exception in Proj1.exe (KERNEL32.DLL): 0xE06D7363: Microsoft C++ Exception.”
但是,如果将m_recordset->Open的代码放到OnCreate外,如:某个登陆对话框CLoginDLG::OnInitDialog()中,就不会出现这种异常!这到底是怎么一回事啊,该怎么解决这个问题??
请各位大侠不吝赐教。