m_pConnection->Open("constr","","",adModeUnknown);
这一句里constr为连接字符串应该怎样写呢?
我下载了MYSQL的驱程,配置了数据源,然后应该如何用ADO来连接这个数据源呢?

解决方案 »

  1.   

    "Provider=SQLOLEDB;Data Source=serverName;Initial Catalog=databaseName;User ID=userName;Password=userPassword;"
      

  2.   

    这个mysql有发布一个开发包的,这个开发包不是ado.是C的开发包
      

  3.   

    我最近也研究了一下MYSQL在vc下的开发,刚开始我也想使用ado来开发,发行只能使用odbc(好吧,我只能找到这个驱动,oledb的驱动没找到),然后在vb的环境下测试都连接出错,搞了好久就放弃了。
    后来发现使用mysql的C API并不复杂,很容易做到。如果写标准的c/c++代码还能在linux等平台上使用,挺好用的,如果lz有兴趣,一起来研究,给我短消息你的msn,我加你。
      

  4.   

    我自己写的ADO半通用类的连接函数,希望有点帮助
    // 返回值为当前连接ID,此值为对应数据类ID,如返回0则表示连接失败
    int CAdo::Connect(CString DBDriver,CString UID,CString PW,CString table,CString DataBase,CString DBType,CString Server,int SysStateId)
    {
    m_DBConnString="Database="+DataBase+";Server="+Server+";UID="+UID+";PWD="+PW+";DRIVER={"+DBDriver+"}";
    m_DataBase=DataBase;
    m_table=table;
    m_UID=UID;
    m_PW=PW;
    m_DBType=DBType;
    m_DBDriver=DBDriver;
    m_SysStateId=SysStateId;
    if (FAILED(pConn.CreateInstance(_T("ADODB.Connection")))) 

    pConn->Release();
    return 0; 

    //"DATABASE=q800;SERVER=127.0.0.1;UID=root;PWD=;Driver={MySQL ODBC 3.51 Driver}"
    if (FAILED(pConn->Open(_bstr_t(m_DBConnString),"","",-1))) 

    pConn->Release();
    return 0; 
    }  //以下3句为连接,结果,客户端使用的字符集,此处类重点
    pConn->Execute("SET NAMES gbk",&vtMissing,adCmdText);   return m_SysStateId;
    }