我在stdafx.h中加了#import "c:\program files\common files\system\ado\msado15.dll" \
        no_namespace \
        rename ("EOF", "adoEOF")
    我用下面的代码总是说连接数据库出错,那位高手指点一下,很急,在线等待。我装的是MYSQL SERVER 4。1
   char lc_dispmsg[255];
if (!AfxOleInit())
strcpy(lc_dispmsg,"ADO初始化错误!");
else
strcpy(lc_dispmsg,"ADO初始化成功!");
      AfxMessageBox(lc_dispmsg);
  CString m_openstr;
   //"Provider=MySQLProv;Data Source=mydb;User Id=UserName;Password=asdasd;"
m_openstr.Format ("Provider=SQLOLEDB;Server=localhost;Data Source=test;User ID=root; PWD=mysql");
try{
m_Connection.CreateInstance(__uuidof(Connection));
m_Connection->CursorLocation=adUseClient;
m_Connection->Open(_bstr_t(m_openstr),"","",-1);

strcpy(lc_dispmsg,"连接数据库成功!");
}
catch(_com_error &Error_code){
_bstr_t bstrSource(Error_code.Source());
_bstr_t bstrDescrition(Error_code.Description ());
//sprintf(lc_dispmsg,"连接数据库失败!");
strcpy(lc_dispmsg,"连接数据库失败!");        
}
m_openstr.Empty();
    AfxMessageBox(lc_dispmsg);

解决方案 »

  1.   

    http://community.csdn.net/Expert/topic/3447/3447969.xml?temp=.5095026
      

  2.   

    不明白那里错了,看程序没什么问题,我建议用mysql的api来弄!
      

  3.   

    http://www.codeproject.com/database/connectionstrings.asp
      

  4.   

    mysql 
    m_openstr.Format ("Provider=SQLOLEDB;Server=localhost;Data Source=test;User ID=root; PWD=mysql");
    应该不是这么写得。Provider=SQLOLEDB这个是连接SQL Server得,你应该找一下连接mysql得字符串
    Server=localhost直接写机器名或者IP