ACCESS数据库中有几个表,我想对其中的几个表进行查询,并将结果输出,每次只查寻其中一个表,但是,请问如何对单独的一个表进行操作呢?

解决方案 »

  1.   

    一个CRecordSet对应一个表,用添加新类的方法来对应。
      

  2.   

    楼上的这个方法好象不行,一个数据库只能用一个CRecordSet打开,CRecordSet 的对象可以打开一个数据库中的任何一个表,要分别打开每个表来取其中的数据.
      

  3.   

    一个CRecordSet对应一个表,太麻烦了。表多了就要好多类。我认为这样好象不行,别人还有没有更好的办法,高手请侃侃!
      

  4.   

    一个数据库中的所有的表只能用一个记录指针打开,我试过好象是这样.如果表中索引一致.你只要用变量保存下你找到的记录的位置,然后再用这个指针打开其它的表Move(???)到同的位置就可以操作了.也许还有其它更好的办法.关注中!
      

  5.   

    sqlstr = "SELECT 材料名称.* FROM 材料名称 where 材料名称='1'";
    pDoc->m_kuSet.Open(AFX_DB_USE_DEFAULT_TYPE,sqlstr);
    pDoc->mdb.ExecuteSQL(sqlstr);
    /////////////////////MSDN 中
    virtual BOOL Open( UINT nOpenType = AFX_DB_USE_DEFAULT_TYPE, LPCTSTR lpszSQL = NULL, DWORD dwOptions = none );
    throw( CDBException, CMemoryException ); 这样解释。
        nOpenType 究竟该用什么呢?CRecordset::dynaset  CRecordset::dynamic  我试过都不行,那么怎么“用SQL语句打开记录集”
      

  6.   

    CString strSQL(_T"SELECT 材料名称.* FROM 材料名称 where 材料名称='1'"));m_pRecordset->Open(CRecordset::dynaset,strSQL);
      

  7.   

    我用的是access数据库,
    CString strSQL(_T"SELECT 材料名称.* FROM 材料名称 where 材料名称='1'"));m_pRecordset->Open(CRecordset::dynaset,strSQL);它提示odbc驱动程序不支持动态记录集,什么原因啊
      

  8.   

    你在新建CRecordset类的时候选择Record type 是不是选择了Snapshot(快照集)啊?重新新建这个类试一下,注意这一点.我这么用没问题.或者ODBC不支持动态记录集你在生成CRecordset的时候就选择Snapshot 试一下.我没遇到过这样的问题,如果有结果也请告诉我一声.
      

  9.   

    或者 m_pRecordset->Open(CRecordset::snapshot,strSQL);
      

  10.   

    qly2010(晨曦) ( ) 你好,谢谢你的回答 ,但是,结果还是提示odbc驱动程序不支持动态记录集,不知究竟是什么原因,我新建了一个CRecordset类选择了dynaset,我下次打开时用m_pRecordset->Open(); 它都提示odbc驱动程序不支持动态记录集。太怪了,不知是不是机子的原因,我在俩台机子上都出错。
        不知有没有高手知道为什么?
      

  11.   

    如果你的程序不大也不保密请把代码给我,我帮你看一下[email protected]
      

  12.   

    怎么连接的?用OLE DB吧,为什么用ODBC呢?
    m_pConnection->Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\table1.mdb","","",adModeUnknown);