我派生了一个CDaoRecordset类,然后设置m_strFilter参数打开表,如下:CBillFlowRec rec(theApp.m_pDaoYearDB);
strVolumeSQL.Format("name = "aaaa");
rec.m_strFilter = strVolumeSQL;
rec.Open();
if(rec.IsEOF())
。现在发现的问题是不论我填入什么条件,open一律返回所有记录,就象m_strFilter没有设置一样,这到底为什么???
strVolumeSQL.Format("name = "aaaa");
rec.m_strFilter = strVolumeSQL;
rec.Open();
if(rec.IsEOF())
。现在发现的问题是不论我填入什么条件,open一律返回所有记录,就象m_strFilter没有设置一样,这到底为什么???
It does not include the reserved word WHERE to filter the recordset. The use of this data member is not applicable to table-type recordsets. The use of m_strFilter has no effect when opening a recordset using a CDaoQueryDef pointer.
而且你也可以试着用这种方法:
CDaoDataBase db;
CDaoQueryDef qd;
CString sqlstr;
sqlstr="select * form 表名 where [name]='aaaa'";
qd.Create(NULL,sqlstr);
db.Open(&qd);