vc 中 用ado 访问access数据库,该怎么处理

vc 中 用ado 访问access数据库
想用vc6.0 的ado 访问access数据库,把结果放在Editbox中,程序如下,有很多错误不知道怎么解决,请大家帮帮忙!
之前导入#import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","rsEOF")

程序如下:

void CClientDlg::OnButtonQuery() 
{
  CoInitialize(NULL);
  _ConnectionPtr pConn(__uuidof(Connection));
  _RecordsetPtr pRst(__uuidof(Recordset));
   
  pConn->ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;
  Data Source=zhan.mdb;User ID=sa;Password=123456";

  pRst=pConn->Execute("select * from OilSubstation",NULL,adCmdText);

   
 while(!pRst->rsEOF)
 {
  ((CEditBox*)GetDlgItem(IDC_EDIT_WORDS))->AddString(
  (_bstr_t)pRst->GetCollect("String rate"));
  pRst->MoveNext();
 }
 
 pRst->Close();
 pConn->Close();
 //pCmd.Release();
 pRst.Release();
 pConn.Release();
 CoUninitialize();
}

运行结果总是错误(下面就是运行的错误),请大家帮我改正下。。谢谢。。。。
 
  Compiling...
ClientDlg.cpp
c:\documents and settings\administrator\client\debug\msado15.tlh(407) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(230) : error C2001: newline in constant
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(231) : error C2146: syntax error : missing ';' before identifier 'Data'
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(231) : error C2065: 'Data' : undeclared identifier
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(231) : error C2146: syntax error : missing ';' before identifier 'Source'
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(231) : error C2065: 'Source' : undeclared identifier
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(231) : error C2065: 'zhan' : undeclared identifier
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(231) : error C2228: left of '.mdb' must have class/struct/union type
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(231) : error C2065: 'User' : undeclared identifier
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(231) : error C2146: syntax error : missing ';' before identifier 'ID'
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(231) : error C2065: 'ID' : undeclared identifier
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(231) : error C2065: 'sa' : undeclared identifier
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(231) : error C2065: 'Password' : undeclared identifier
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(231) : error C2001: newline in constant
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(231) : error C2143: syntax error : missing ';' before 'string'
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(237) : error C2146: syntax error : missing ';' before identifier 'pRst'
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(251) : error C2065: 'CEditBox' : undeclared identifier
C:\Documents and Settings\Administrator\Client\ClientDlg.cpp(251) : error C2059: syntax error : ')'
Error executing cl.exe.




------解决方案--------------------
C/C++ code

::CoInitialize(NULL);
    try
    {
        m_pConnection.CreateInstance("ADODB.Connection");
        //或者m_pConnection.CreateInstance(__uuidof(Connection));
        _bstr_t strConnect="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=myData.mdb";//mdb文件 放在工程目录下   m_pConnection->Open(strConnect,"","",adModeUnknown);
        m_pConnection->Open(strConnect,"","",adModeUnknown);
        DBflag=1;
    }
    catch(_com_error e)
    {
        AfxMessageBox(L"数据库连接失败!");
    }

if (DBflag==1)
    {
        CString sql; //这里如果没有要写参数的话就可以直接 将这个sql语句 写到 str2 那个位置就ok了.
        sql.Format(L"select * from PersonInfo order by ID");
        BSTR str2=sql.AllocSysString();
        m_pRecordset.CreateInstance("ADODB.Recordset");
        this->m_pRecordset->Open(str2,_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
        int i=0;
        //int rCount;
        while(!this->m_pRecordset->adoEOF)
        {
            CString strName,strAge,strAddr,strID;
            _variant_t name,age,addr,mid;

            name=m_pRecordset->GetCollect("Name");
            age=m_pRecordset->GetCollect("Age");
            addr=m_pRecordset->GetCollect("Depart");
            mid=m_pRecordset->GetCollect("ID");

            strName.Format(L"%s",(LPCTSTR)(_bstr_t)name);
            strAge.Format(L"%s",(LPCTSTR)(_bstr_t)age);
            strAddr.Format(L"%s",(LPCTSTR)(_bstr_t)addr);
            strID.Format(L"%s",(LPCTSTR)(_bstr_t)mid);

            m_DB_List.InsertItem(i, L"VC++");        //插入行
            m_DB_List.SetItemText(i,0,strName);        //设置数据
            m_DB_List.SetItemText(i,1,strAge);
            m_DB_List.SetItemText(i,2,strAddr);    
            m_DB_List.SetItemText(i,3,strID);

            m_pRecordset->MoveNext();
            i++;
        }
        m_pRecordset->Close();
        m_pRecordset=NULL;
    }