none
【help】MFC与SQL server连接的问题 RRS feed

  • 问题

  • 请教一下各位大侠,我需要建立Vc与SQL的连接,初步代码如下所示:
    
      HRESULT  hr; 
      //_ConnectionPtr  m_pConnection;
      if(!AfxOleInit())//AfxOleInit()是封装了OleInitialize()来初始化com组件
      {         //不能使用俩次  
        AfxMessageBox((LPCTSTR)"COM组件初始化错误",0,0);//
        return false;
      }
      else
      {
       try 
       { 
     ********hr  =  m_pConnection.CreateInstance( "ADODB.Connection ");///创建Connection对象 
         if(SUCCEEDED(hr))  
         { 
         hr  =  m_pConnection->Open( "Provider=Microsoft.Jet.OLEDB.4.0;Data  Source=test.mdb ", " ", " ",adModeUnknown); 
          ///连接数据库  ///上面一句中连接字串中的Provider是针对ACCESS2000环境的,对于ACCESS97,需要改为:Provider=Microsoft.Jet.OLEDB.3.51; 
         } 
         else
         {
           return false;
         }
       }  
       catch(_com_error  e)///捕捉异常  
       { 
         CString  errormessage; 
         errormessage.Format( "连接数据库失败!\r\n错误信息:%s ",e.ErrorMessage());  
         AfxMessageBox(errormessage);///显示错误信息 
       } 
       return true;
      }
    
    
    但遇到一个问题,在打*部分创建Connection对象,返回的值hr=-2147221005无效的字符串,无法创建对象,不知如何解决这个问题?
    2010年7月10日 10:21

答案

  • "ADODB.Connection "
    多了一个空格


    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    • 已标记为答案 0度转身 2010年7月12日 2:19
    2010年7月10日 19:04
    版主

全部回复

  • 不知你是否在ODBC数据源管理器中设置了用户DSN?
    2010年7月10日 14:11
  • "ADODB.Connection "
    多了一个空格


    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    • 已标记为答案 0度转身 2010年7月12日 2:19
    2010年7月10日 19:04
    版主
  • "ADODB.Connection "
    多了一个空格


    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP

    太感谢蒋老师了
    2010年7月12日 2:20