ВУЗ:
Составители:
Рубрика:
28
Поиск записей в наборах данных по любым полям
Метод Locate
Метод Locate ищет первую запись, удовлетворяющую критерию поиска, и если такая
запись найдена, делает ее текущей. В этом случае в качестве результата возвращается True.
Если запись не найдена, возвращается False.
function Locate(const KeyFields: String; const KeyValues: Variant; Options:
TLocateOptions): Boolean;
Список KeyFields указывает поле или несколько полей, по которым ведется поиск. В
случае нескольких поисковых полей их названия разделяются точкой с запятой. Критерии
поиска задаются в вариантном массиве KeyValues так, что i-e значение в KeyValues ставится
в соответствие i-му полю в KeyFields. Options позволяет указать необязательные значения
режимов поиска:
loCaseInsensitive - поиск ведется без учета высоты букв, т.е. если в KeyValues указано
«принтер», а в некоторой записи в данном поле встретилось «Принтер» или «ПРИНТЕР»,
запись считается удовлетворяющей условию поиска;
loPartialKey - запись считается удовлетворяющей условию поиска, если она содержит часть
поискового контекста; например, удовлетворяющими контексту «Ма» будут признаны
записи со значениями в искомом поле «Машин», «Макаров» и т.д.
Например,
with CustTable do
Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']),
[loPartialKey]);
или
var
LocateSuccess: Boolean;
SearchOptions: TLocateOptions;
begin
SearchOptions := [loPartialKey];
LocateSuccess := CustTable.Locate('Company', 'Professional Divers, Ltd.', SearchOptions);
end;
Locate производит поиск по любому полю; поле или поля, по которым производится
поиск, могут не только не входить в текущий индекс, но и не быть индексными вообще.
В случае если поля поиска входят в какой-либо индекс, Locate использует этот индекс
при поиске. Если искомые поля входят в несколько индексов, трудно сказать, какой из них
будет использован. При поиске по полям, не входящим ни в один индекс, применяются
фильтры BDE.
4. . Используя таблицы из базы данных DBDEMOS создать приложение, в котором
организовать поиск записей в наборах данных с использованием метода Locate.
Метод Lookup
Метод Lookup находит запись, удовлетворяющую условию, но не делает ее текущей, а
возвращает значения некоторых полей этой записи. Тип результата -Variant или вариантный
массив. Независимо от успеха поиска записи, указатель текущей записи в НД не изменяется.
Поиск записей в наборах данных по любым полям Метод Locate Метод Locate ищет первую запись, удовлетворяющую критерию поиска, и если такая запись найдена, делает ее текущей. В этом случае в качестве результата возвращается True. Если запись не найдена, возвращается False. function Locate(const KeyFields: String; const KeyValues: Variant; Options: TLocateOptions): Boolean; Список KeyFields указывает поле или несколько полей, по которым ведется поиск. В случае нескольких поисковых полей их названия разделяются точкой с запятой. Критерии поиска задаются в вариантном массиве KeyValues так, что i-e значение в KeyValues ставится в соответствие i-му полю в KeyFields. Options позволяет указать необязательные значения режимов поиска: loCaseInsensitive - поиск ведется без учета высоты букв, т.е. если в KeyValues указано «принтер», а в некоторой записи в данном поле встретилось «Принтер» или «ПРИНТЕР», запись считается удовлетворяющей условию поиска; loPartialKey - запись считается удовлетворяющей условию поиска, если она содержит часть поискового контекста; например, удовлетворяющими контексту «Ма» будут признаны записи со значениями в искомом поле «Машин», «Макаров» и т.д. Например, with CustTable do Locate('Company;Contact;Phone', VarArrayOf(['Sight Diver', 'P', '408-431-1000']), [loPartialKey]); или var LocateSuccess: Boolean; SearchOptions: TLocateOptions; begin SearchOptions := [loPartialKey]; LocateSuccess := CustTable.Locate('Company', 'Professional Divers, Ltd.', SearchOptions); end; Locate производит поиск по любому полю; поле или поля, по которым производится поиск, могут не только не входить в текущий индекс, но и не быть индексными вообще. В случае если поля поиска входят в какой-либо индекс, Locate использует этот индекс при поиске. Если искомые поля входят в несколько индексов, трудно сказать, какой из них будет использован. При поиске по полям, не входящим ни в один индекс, применяются фильтры BDE. 4. . Используя таблицы из базы данных DBDEMOS создать приложение, в котором организовать поиск записей в наборах данных с использованием метода Locate. Метод Lookup Метод Lookup находит запись, удовлетворяющую условию, но не делает ее текущей, а возвращает значения некоторых полей этой записи. Тип результата -Variant или вариантный массив. Независимо от успеха поиска записи, указатель текущей записи в НД не изменяется. 28
Страницы
- « первая
- ‹ предыдущая
- …
- 26
- 27
- 28
- 29
- 30
- …
- следующая ›
- последняя »