请教!如何在vc中使用mysql?最好能提供实例,谢谢!

解决方案 »

  1.   

    用ADO吧,只要把连接字符串改成mysql的那种就可以了。。其他访问数据库的代码都不用修改。。"Provider=MySQLProv;Data Source=mydb;User Id=UserName;Password=asdasd;"
    上面是mysql的连接字符串的写法。下面是通过ADO访问数据库的代码,在stdafx.h中添加:
    #import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")RecordsetPtr m_pRs;
    _ConnectionPtr m_pConn;
    try
    {
    CoInitialize(NULL); m_pConn.CreateInstance(__uuidof(Connection));
    m_pRs.CreateInstance(__uuidof(Recordset));

    //设置服务器端游标
    m_pConn->CursorLocation = adUseServer;//adUseClient;adUseNone

    //连接数据库
    m_pConn->Open(L"Provider=MySQLProv;Data Source=mydb;User Id=UserName;Password=asdasd;",L"",L"",adOpenUnspecified);

    m_pRs->PutRefActiveConnection(m_pConn);
    CString t = "select * from case_acceptinfo";
    m_pRs->Open(_variant_t(t),_variant_t((IDispatch*)m_pConn,true),adOpenDynamic,adLockOptimistic,adCmdUnknown);

    while(!m_pRs->adoEOF)
    {
    CString m_s1 = _com_util::ConvertBSTRToString((_bstr_t)m_pRs->GetCollect("reporttime"));
    MessageBox(m_s1); m_pRs->MoveNext();
    } m_pRs->Close();
    m_pConn->Close(); m_pRs=NULL;
    m_pConn=NULL;
    CoUninitialize();
    }
    catch(_com_error &e)
    {
    AfxMessageBox(e.Description());
    }
      

  2.   

    MYSQL安装后有sample啊,要不你给我发邮件,我给你个自己的例子。
      

  3.   

    http://www.vckbase.com/document/viewdoc/?id=339
      

  4.   

    int lRet = 0;
    // "DSN=SQLServer_Source;UID=SA;PWD=abc123"
    CDatabase dataBase;
    CRecordset rSet;

    CString strT;
    strT.Format("DSN=%s;UID=%s;PWD=%s", g_strDSN, g_strUSE, g_strPAS);

    if(dataBase.OpenEx(strT, CDatabase::noOdbcDialog) == FALSE)
    {
    MessageBox("不能正确打开ODBC数据源!");
    return -1;
    }

    // dataBase.OpenEx("DSN=wlms;UID=root;PWD=");
    rSet.m_pDatabase = &dataBase;

    // SELECT ID, NAME FROM DISTRICTS

    CString strSQL;
    strSQL.Format("SELECT * FROM groups WHERE id = '%s'", m_strID);
    rSet.Open(AFX_DB_USE_DEFAULT_TYPE, strSQL); int rCount = 0;
    CString strID;
    CString strName;
    CString strDesc;
    CString strDGS;
    CString strDZS;
    CString strSJGL;
    CString strJGSJ;
    CString strZDS;
    CString strHLS; rCount = 0;
    while(rSet.IsEOF() == FALSE)
    {
    rCount++;
    rSet.GetFieldValue("id", strID);
    rSet.GetFieldValue("name", strName);

    // numl/灯杆数
    rSet.GetFieldValue("numl", strDGS);
    // numll/灯盏数
    rSet.GetFieldValue("numll", strDZS);
    // groupsp/设计功率
    rSet.GetFieldValue("groupsp", strSJGL);
    // endtime/竣工时间
    rSet.GetFieldValue("endtime", strJGSJ);
    // tnum/终端数
    rSet.GetFieldValue("tnum", strZDS);
    // cnum/回路数
    rSet.GetFieldValue("cnum", strHLS);

    rSet.GetFieldValue("description", strDesc);

    rSet.MoveNext();
    }