Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
4-49356
Hanson3003
2002-11-29 09:50
2003.01.16
Неужели в Windows 2000/XP не выключить питание?


14-49253
jee
2002-12-26 15:35
2003.01.16
А кто выдает медали


14-49277
AL2002
2002-12-06 11:35
2003.01.16
---|Ветка была без названия|---


3-48886
KidMan
2002-12-19 22:21
2003.01.16
Работа с DBF и с повторяющимися данными


1-49094
Каспер
2002-12-26 08:32
2003.01.16
Сохранение/чтение Объектов TStringLista





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский