Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.01.16;
Скачать: CL | DM;

Вниз

ПРИВЕТ ВСЕМ! Метод Locate возвратит мне true и...   Найти похожие ветки 

 
@andrew ©   (2002-12-23 11:27) [0]

поставит курсор на найденную запись, а как бы мне узнать, что такая запись не одна и соотв. перейти на следующую, удовлетворяющую условиям поиска. Есть что-то вроде LocateNext :?)


 
MsGuns ©   (2002-12-23 11:38) [1]

Способов несколько, но, к сожалению, все надо писать ручками.

1-й. Простым просмотром записей с отключением грида от датасорса и использованием букмарки для возврата назад в случае неудачного поиска. В конце поиска присоединять к гриду ds

2-й. Выполнить запрос и искать не в "родном" НД, а в том, что вернул query. При обнаружении делать Locate в "родном" НД, например, по уникальному идентификатору записи.

3-й. Использовать "параллельный" НД в памяти, а в нем искать простым последовательным пробегом. Годитсядля относительно небольших НД.

4-й. Опять же использовать запрос, но указывать доп.условие типа WHERE ID > <Идент-р текущей записи>


 
sniknik ©   (2002-12-23 12:37) [2]

+5-й. Поставить нужный фильтр, и FindFirst, FindNext, FindPrior по нему, не применяя к датасет (filtered=false). (работает для ADO) FindNext при невыполнении фильтра оставит курсор на месте.


 
Anatoly Podgoretsky ©   (2002-12-23 12:49) [3]

MsGuns © (23.12.02 11:38)
2-й. Не требует поиска, а только перемещение


 
MsGuns ©   (2002-12-23 12:56) [4]

>Anatoly Podgoretsky © (23.12.02 12:49)
>MsGuns © (23.12.02 11:38)
>2-й. Не требует поиска, а только перемещение

Перемещение по 2-му НД (под словом "искать" я имел в виду перемещение Prior/Next с простой проверкой на Bof/Eof), а в родном все же Locate несколько шустрее, чем тупое Next с проверками 8). Или я не прав ?



--------------------------------------------------------------------------------


 
Anatoly Podgoretsky ©   (2002-12-23 13:00) [5]

MsGuns © (23.12.02 12:56)
Я на них и намекал, перемещение по полученому набору, который соответствует Locate - очень шустро и логика ояень простая
Альтернативу назвали - фильтр, но это может быть очень медленно, если записей в фильтре мало, а исходных много.



Страницы: 1 вся ветка

Текущий архив: 2003.01.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
1-49102
iap
2003-01-05 09:01
2003.01.16
Вопрос по TImage.


1-49081
Beglec
2003-01-05 00:48
2003.01.16
Старый и замученный вопрос


3-48915
OlkaGTS
2002-12-05 16:59
2003.01.16
Автоматическое заполнение поля-идентификатора в InterBase


4-49360
ed30
2002-11-29 13:30
2003.01.16
Освобождение памяти после работы внешней программы


14-49222
p@s
2002-12-27 10:28
2003.01.16
А вот такая задачка