术语 | CDaoRecordset::Seek | ||||||||||||
释义 | CDaoRecordset::Seek BOOL Seek(LPCTSTR lpszComparison, COleVariant* pKey1, COleVariant* pKey2 = NULL, COleVariant* pKey3=NULL); throw(CDaoException, CMemoryException); BOOL Seek(LPCTSTR lpszComparison, COleVariant* pKeyArray, WORD nKeys); throw(CDaoException, CMemoryException); 返回值: 如果找到匹配记录,则返回非零值,否则为0。 参数:
说明: 调用这个成员函数,可以在索引表型记录集对象中定位满足当前索引指定条件的记录,并使它成为当前记录。使用Seek的第二个版本(数组)处理四个或更多字段。 Seek使在表型记录集上高性能索引搜索成为有效。调用Seek之前必须通过调用SetCurrentIndex设置当前索引。如果索引标识非唯一码字段,Seek定位于满足条件的第一条记录。如果不设置索引将产生一个异常。 注意到如果没有创建一个UNICODE记录集,COleVariant对象必须明确声明为ANSI。通过vtSrc设置为VT_BSTRT(ANSI)构造程序的COleVariant::ColeVariant(lpszSrc,vtSrc)格式,或者使用vtSrc设置为VT_BSTRT的COleVariant函数SetString(lpszSrc,vtSrc)可以做到这一点。调用Seek时,传递了一个或多个关键值和比较操作符(“<”,“<=”,“=”,“>=”或“>”)。Seek在指定码字段搜索,并定位于满足由lpszComparison和pKey1指定的条件的第一条记录。如果在定位匹配中Seek失败,Seek返回0,并且未定义当前记录。直接使用DAO时,必须明确检查NoMatch特性。 如果lpszComparison是“=”,“>=”或“>”,Seek从索引头开始。如果lpszComparison是“<”或“<=”,Seek从索引尾开始并向后搜索,除非末尾存在双重索引入口。这时Seek在索引末尾的双重索引入口之间的特定入口处开始。 使用Seek时不需有当前记录。 要在动态集型或快照型记录集中定位满足指定条件的记录,使用Find操作。为包括所有记录而不只是满足某个指定条件的记录,使用Move操作在记录之间移动。 在任何类型的附加表上均不能调用Seek,原因是附加表必须作为动态集型或快照型记录集打开。但是,如果调用CDaoDatabase::Open直接打开一个可安装ISAM数据库,可以在那个数据库的表上调用Seek,不过性能可能较低。 有关查找记录的更多信息,请参阅联机文档“Visual C++程序员指南”中的“DAO记录集:记录集导航”。有关信息,请参阅DAO帮助中的“Seek方法”。 请参阅: CDaoRecordset::FindFirst, CDaoRecordset::FindLast, CDaoRecordset::FindNext, CDaoRecordset::FindPrev, CDaoRecordset::Move, CDaoRecordset::MoveFirst, CDaoRecordset::MoveLast, CDaoRecordset::MoveNext, CDaoRecordset::MovePrev, COleVariant::COleVariant, COleVariant::SetString |
||||||||||||
随便看 |
|
MFC类库中文详解手册包含4274条MFC类库参考词条,基本涵盖了Microsoft基本类库中的类、全局函数、全局变量和宏的内容,是计算机编程的有利工具。