one of methods of query table a and table b

来源:互联网 发布:java躲避子弹素材 编辑:程序博客网 时间:2024/05/18 09:16





多表查询不需要建立CRecordset的派生类,直接用CRecordset就好了        CDatabase db;        db.OpenEx("Driver={Microsoft Access Driver(*.mdb)};DBQ=C:\\temp\\onega.mdb;");        CRecordset rs(&db);        rs.Open(AFX_DB_USE_DEFAULT_TYPE,"select id,name From table1, table2where table1.uid = table2.uid");        int nfieldcount=rs.GetODBCFieldCount();        CString msg;        msg.Format("There are %d fields in table1",nfieldcount);        AfxMessageBox(msg);        //field 0 is int field,name "intfield",retrieve by field index        CDBVariant dbvar;        rs.GetFieldValue((short)0,dbvar);        //field 1 is string field,name "strfield",retrieve by field name        CString dbstrvar;        rs.GetFieldValue("strfield",dbstrvar);        msg.Format("field 0 value:%d,field name strfieldvalue=%s",dbvar.m_iVal,dbstrvar);        AfxMessageBox(msg);        rs.Close();        db.Close();如果你习惯于通过wizard建立派生类,在选择表的时候可以选择多个表!然后修改派生类的GetDefaultSQL() 让他使用你需要的sql

原创粉丝点击