CDaoRecordset::Seek

Поиска BOOL (LPCTSTR lpszComparison, COleVariant * pKey1, COleVariant * pKey2 = NULL, COleVariant * pKey3 = NULL);
броска (CDaoException, CMemoryException);

Поиска BOOL (LPCTSTR lpszComparison, COleVariant * pKeyArray, слово nKeys);
Бросай (CDaoException, CMemoryException);

Возвращаемое значение

Ненулевое значение, если будут найдены совпадающие данные, иначе 0.

Параметры

lpszComparison

Одна из следующих строковых выражений: «lt;», "< =", «=» "> =", или ">".

pKey1

Указатель на COleVariant , значение которого соответствует первому полю индекса. Обязательно.

pKey2

Указатель на COleVariant , значение которого соответствует полю второго в индексе, если таковой имеется. По умолчанию используется значение NULL.

pKey3

Указатель на COleVariant , значение которого соответствует полю третьим в индексе, если таковой имеется. По умолчанию используется значение NULL.

pKeyArray

Указатель на массив вариантов. Размер массива соответствует числу полей в индексе.

nKeys

Целое число соответствует размеру массива, который является количество полей в индексе.

Примечание   Не указывайте подстановочные символы в ключи. Подстановочные знаки приведет к Seek для возврата не совпадающие записи.

Примечания

Вызов этой функции-члена для поиска записи в объекте набора записей тип индексированной таблицы, который удовлетворяет указанным критериям для текущего и делаем это записать текущую запись. Используйте второй (массив) версию Seek для обработки индексы четыре поля или больше.

Seek позволяет высокой производительности индекс поиска на тип таблицы записей. Необходимо задать текущий индекс путем вызова SetCurrentIndex перед вызовом Seek. Если индекс определяет неуникального ключевое поле или поля, Seek находит первая запись, которая удовлетворяет критерии. Если индекс не задано, это исключение.

Обратите внимание, что если вы не создаете набор UNICODE, COleVariant объекты должны быть явно объявлены ANSI. Это может быть сделано с помощью COleVariant::COleVariant( lpszSrc, vtSrc ) формы конструктора с vtSrc равным VT_BSTRT (ANSI) или с помощью функции COleVariant SetString( lpszSrc, vtSrc ) с vtSrc равным VT_BSTRT.

При вызове Seek, передаются значения одного или нескольких ключей и оператор сравнения ("lt;", "< =", "=" "> =", или ">"). Поиск поиск через указанные ключевые поля и находит первую запись, которая удовлетворяет критериям, указанным в lpszComparison и pKey1. Однажды, Seek возвращает ненулевое значение и делает эту запись текущей. Если Поиск не может найти совпадение, Seek возвращает ноль, и текущая запись не определено. При использовании DAO напрямую, необходимо явно проверить свойство NoMatch.

Если lpszComparison является "=", nbsp; «> = ", или" > ", Поиск начинается с начала индекса. Если lpszComparison является "<" или "< =", Поиск начинается в конце индекса и поиска назад, если не будут дублировать элементы указателя в конце. В этом случае Поиск начинается в произвольной записи среди дублирующих индекса записей в конце индекса.

Там не нужно быть текущая запись при использовании поиска.

Чтобы найти запись в динамического или статического типа записей, удовлетворяющих определенному условию, используйте операции поиска. Чтобы включить все записи, не только те, которые удовлетворяют определенному условию, используйте операции Move переходить от записи к записи.

Нельзя вызывать Seek на прилагаемую таблицу любого типа, потому что прилагаемые таблицы должен быть открыт как динамического или статического типа наборы записей. Однако если вы вызываете CDaoDatabase::Open напрямую открыть устанавливаемый ISAM базы данных, можно вызвать Seek таблиц в этой базе данных, хотя производительность может быть медленным.

Для получения дополнительных сведений о поиске записей, см. статью записей DAO: навигации набора записей в Руководстве по Visual C++ программист. Соответствующую информацию в разделе «Искать метод» в справке DAO.

Обзор CDaoRecordsetЧлены класса | Иерархическая схема

См. такжеnbsp;CDaoRecordset::FindFirst, CDaoRecordset::FindLast, CDaoRecordset::Find&Next, CDaoRecordset::FindPrev, CDaoRecordset::Move, CDaoRecordset::MoveFirst, CDaoRecordset::MoveLast, CDaoRecordset::MoveNext, CDaoRecordset::MovePrev, COleVariant::COleVariant, COleVariant::SetString

Index