sellView.h文件是有#include "adodc.h"
在"adodc.h"中是有class C_Recordset;声明的
这些都是系统自动生成的。所以我非常纳闷,我上面那行程序没通过编译,去掉那行,程序立即通过编译

解决方案 »

  1.   

    m_adodc1是Cadodc的成员变量吧?
      

  2.   

    是的,是不是Cadodc类不能调用GetRecordset()这个函数?还是我使用的问题?
      

  3.   

    看一下class C_Recordset的声明,里面有GetRecordset()的定义吗?
      

  4.   

    #include <icrsint.h>
    #include <basetsd.h>
    #include <ole2.h>#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
        no_namespace rename("EOF", "EndOfFile")...... IADORecordBinding   *picRs = NULL;
    _RecordsetPtr pRs("ADODB.Recordset");
    _ConnectionPtr pConn("ADODB.Connection" );
    //CFootballTeamRs rsFootballTeam;
    GetModuleFileName(NULL,FileName,MAX_PATH);
    (_tcsrchr(FileName,'\\'))[1] = 0; lstrcat(FileName,_T("pass2.mdb")); strSql = strSql +
         "Provider=Microsoft.Jet.OLEDB.4.0;" +
     "Data Source = " + 
     FileName +
     ";Persist Security Info=False;Jet OLEDB:Database Password=cd;"; //pConn->ConnectionString = chDataSource;
    //pConn->Provider = _T("Microsoft.Jet.OLEDB.4.0");
    CString sqlSentence = _T("select * from pass");
    try
    {
    pConn->Open((_bstr_t)strSql, "", "", adModeUnknown);  pRs->QueryInterface(
      __uuidof(IADORecordBinding), (LPVOID*)&picRs);   pRs->Open(  (_variant_t)sqlSentence,                // 查询DemoTable表中所有字段
    pConn.GetInterfacePtr(),  // 获取库接库的IDispatch指针
    adOpenDynamic,
    adLockOptimistic,
    adCmdText);
    }
    catch(...)
    {} try
    {
    while(!(pRs->EndOfFile))
    {
    CString pass = (LPCTSTR)(_bstr_t)pRs->GetCollect("pass");
    if(pass.IsEmpty()) return;
    SetDlgItemText(IDC_PASS,pass);
    pRs->MoveNext();
    //break;
    }
    }
    catch(...)
    {}