我创建了一个对话框应用程序,我想在对话框弹出时连接数据库。
在对话框地DoModal()里地代码如下: _ConnectionPtr myconn ;

HRESULT hr;
    hr = myconn.CreateInstance(_uuidof(Connection));
if(FAILED(hr)) 
{
MessageBox("over ","tttt",MB_OK);
return 0;
}
_bstr_t strConn = "Provider = SQLOLEDB;server = eamserver;database=liso;"
"uid = sa;pwd ="; try
{
myconn->Open(strConn,"","",NULL);
}
catch(_com_error &e)
{
MessageBox(e.Description(),"djfd",MB_OK);
} return CDialog::DoModal();------------------------------
结果总是myconn创建失败,为什么呀,谁能帮我该一该????????

解决方案 »

  1.   

    是不是问题总是出现在这里呀??????hr = myconn.CreateInstance(_uuidof(Connection));难道是CreateInstance地错,哪又如何改呢???????
      

  2.   

    楼上地不行啊?????同样是myconn创建失败,我想是不是我机器上装有.NET地缘故!!!是不是.NET升级了msado15.dll地缘故??????????请高手指点???????????????
      

  3.   

    kao,每人理我???????md,自己慢慢的UP,upupup
      

  4.   

    please first do this before CreateInstance();
    CoInitialize() or AfxOleInit();
      

  5.   

    将#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")
    加入到StdAfx.h中。将 AfxOleInit(); 
    加入到 CDlgApp的InitInstatance()中。将你上面的代码放到CDlg的OnInitDialog()中。
      

  6.   

    谢谢 ZHENG017()、  fupinger(小古) 两位同志:( “同志听的还习惯吧????”因为偶不知你们是男是女:)  )问题解决了,你们就等着接分吧,^_^ 。