Форум: "Базы";
Текущий архив: 2003.01.16;
Скачать: [xml.tar.bz2];
ВнизПРИВЕТ ВСЕМ! Метод 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.009 c