(1)请问用ado执行了语句后,得到的结果是不是存放在内存中?
(2)假如有一个student的表,我并不知道里面的具体内容,当调用ado的函数执行了一个select * from student的语句之后,能不能直接得到关于这张表中的域的类型,里面的内容一些信息。

解决方案 »

  1.   

    应该可以,使用ado的对象_RecordsetPtr
      

  2.   

    _ConnectionPtr pConn;
    pConn.CreateInstance(__uuidof(Connection));
    pConn->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\\HuaWork\\Study\\VC++\\DatabaseTest\\DatabaseTest\\Debug\\zfdb.mdb"
    ,"","",adModeUnknown); _RecordsetPtr pRs;
    pRs.CreateInstance(__uuidof(Recordset));
    pRs->Open("select * from Student",pConn.GetInterfacePtr(),
    adOpenKeyset,
    adLockOptimistic,
    adCmdText); FieldsPtr pFds = pRs->GetFields();
    int nCols = pFds->GetCount();
    for(int i=0;i<nCols; i++)
    {
    AfxMessageBox(pFds->GetItem(_variant_t((long)i))->GetName());
    }