数据库初始化OnInitAdo()放在其他Cwnd类中的.cpp程序会发生访问冲突,而放在对话框类的.cpp程序中则正常运行。
我调试发现:
void Ado::OnInitAdo()
{
//初始化OLE/COM库环境
::CoInitialize(NULL);
_bstr_t strConnect;
try
{
//´创建connection连接对象
m_pConnection.CreateInstance(__uuidof(Connection));
//设置连接字符串
strConnect="Provider=SQLOLEDB; Server=local;"" Database=Test; uid=sa; pwd=123456;";
m_pConnection->Open(strConnect,"","",NULL);//连接数据库 adModeUnknown
}
在程序
m_pConnection.CreateInstance(__uuidof(Connection));发生异常
数据库初始化放在Cwnd类中的.cpp程序时:
m_pConnection指针值为:错误,无法计算表达式的值;
放在Cwnd类中的.cpp程序时_ConnectionPtr m_pConnection; 并没有执行初始化定义;
而放在dlg.c中,m_pConnection指针为0x0000;有初始化。
这是为什么??是什么原因???求大神指教