谁有ADO连接数据库的原码,给我发一份谢谢!(要数据源连接的),最好有数据库操作的函数(包括数据集返回函数)。谢谢啦哈 :)

解决方案 »

  1.   

    忘了说了,本人邮箱[email protected]
      

  2.   

    到http://www.vckbase.com/code/搜索ado.
      

  3.   

    我看过http://www.vckbase.com/code/中的ado的例子,自己也写了一个关于ado数据库连接的类,但是我自己做了一个mfc的小测试,总是说:
    [Micrsoft][ODBC Driver Manager]Data source name not found and no default driver specified我的数据源是系统数据源,在其他的语言中使用正常,我都不知道是什么问题?
      

  4.   


    _ConnectionPtr m_ptrSqlConnection;
    _RecordsetPtr m_ptrSqlRecord;
        CoInitialize(NULL);
        m_ptrSqlConnection.CreateInstance(__uuidof(Connection));
        m_ptrSqlConnection->Open("DSN=your odbc basename","","",0);    m_ptrSqlRecord.CreateInstance(__uuidof(Recordset));
        m_ptrSqlRecord->Open((_bstr_t)sql, _variant_t((IDispatch*)m_ptrSqlConnection,true),adOpenDynamic,dLockOptimistic,adCmdText);
      

  5.   

    http://www.codetools.com/database/caaadoclass1.asp有很详细的说明和例子,赶快下载吧!
      

  6.   

    请指出错误,谢谢!!!
    BOOL ADOConnection::Open(char *DSN,char *Userid,char *Password)
    {
    HRESULT pCon; CString strConnect;

    strConnect.Format("DSN=%s,uid=%s,pwd=%s",DSN,Userid,Password);

    _bstr_t bstrConnect((const char*)strConnect); try
    {
    pCon=pMyConnect.CreateInstance(__uuidof(Connection)); if(FAILED(pCon)) return false; pMyConnect->Open(bstrConnect,"","",NULL); return true;
    }
    catch (_com_error &e)
    {
    ::MessageBox(NULL,e.Description(),"??",MB_OK | MB_ICONWARNING);
    }
    return FALSE;
    //_ConnectionPtr con = NULL;
    }
      

  7.   

    请检查:
    DSN名称是否和你在ODBC中设置的名称一样,类型是不是也匹配
      

  8.   

    我还是自己搞定了 :)大家可以参考一下:BOOL ADOConnection::Open(char *DSN,char *Userid,char *Password)
    {
    HRESULT pCon; char strConnect[256];

    _snprintf(strConnect,256,"DSN=%s; uid=%s; pwd=%s;",DSN,Userid,Password);

    _bstr_t bstrConnect(strConnect); try
    {
    pCon=pMyConnect.CreateInstance(__uuidof(Connection)); if(FAILED(pCon)) return false; HRESULT hr=pMyConnect->Open(bstrConnect,L"",L"",NULL);
    return SUCCEEDED(hr);
    }
    catch (_com_error &e)
    {
    ::MessageBox(NULL,e.Description(),"??",MB_OK | MB_ICONWARNING);
    }
    return FALSE;
    //_ConnectionPtr con = NULL;
    }