CDaoRecordset::FindPrev

BOOL FindPrev(LPCTSTR lpszFilter);
  throw(CDaoException, CMemoryException);

返回值:
如果找到匹配记录,则返回非零值,否则为0。

参数:
lpszFilter用于定位记录的一个字符串表达式(类似于不加WHERE的SQL语句中的WHERE子句)。

说明:
调用这个成员函数,可以查找与指定条件匹配的上一条记录。FindPrev成员函数从当前记录集开始查找,直到记录集开头。
如果在查找中想包括所有记录(不是只满足一个指定条件),使用一个Move操作在记录之间移动。要在表型记录集中定位记录,调用Seek成员函数。
如果未找到匹配条件的记录,则不能确定当前记录指针,FindPrev返回0。如果记录集中包含一个以上满足条件的记录,FindFirst定位在第一次出现时,FindNext定位在第二次,依此类推。
警告:
如果编辑了一条记录,然后未调用Update就滚动到另一条记录,虽然没有警告,也会丢失改动的结果。
不过,使用一个Find操作符与调用MoveFirst或MoveNext不同,后者只是简单地使第一条或者最后一条记录成为当前的,不指定任何条件。
可以让Move操作跟在Find操作后面。
使用Find操作时牢记以下几点:
·如果Find返回非零,则未定义当前记录。这时必须回头把当前记录指针定位到有效记录。
·不能对只能前滚的快照型记录集使用Find操作。
·搜索包含日期的字段时,即使Microsoft Jet数据库引擎未使用U.S.版本,也应该使用U.S.日期格式(月-日-年);否则找不到匹配记录。
·处理ODBC数据库和大型动态集时,尤其对后者,会发现使用Find操作速度慢。通过使用带定制ORDER BY或WHERE子句的SQL查询、参数查询或者获取指定带索引记录的CDaoQueryDef,可以改善其性能。
有关查找记录的更多信息,请参阅联机文档“Visual C++程序员指南”中的“DAO记录集:记录集导航”。有关信息,请参阅DAO帮助中的“FindFirst,FindLast,FindNext,FindPrevious方法”。

请参阅:
CDaoRecordset::Find, CDaoRecordset::FindFirst, CDaoRecordset::FindLast, CDaoRecordset::FindNext