C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Locate
avtoritet
Отправлено: 27.09.2004, 05:21


Ученик-кочегар

Группа: Участник
Сообщений: 15



Please, help!
Пытаюсь организовать поиск в бд-парадоксе.
TLOcateOptions tlo;
QRY->Locate("Name", Petrov, tlo);
наход если "Petrov" — это полное содержимое ячейки.
Если так
QRY->Locate("Name", Petro, tlo);
должен найти того же "Petrov". но ...

Надо как-то указать ключ поиска loParialKey типа TLocateOption, но как?

Спасибо!
olegenty
Отправлено: 27.09.2004, 07:18


Ветеран

Группа: Модератор
Сообщений: 2412



tlo << loPartialKey;
avtoritet
Отправлено: 27.09.2004, 14:32


Ученик-кочегар

Группа: Участник
Сообщений: 15



Locate ищет с самого начала и останавливается на первой найденой записи.
Как можно указать ему искать с первой найденой, чтобы найти следующую запись?
AVC
Отправлено: 27.09.2004, 15:05


Ветеран

Группа: Модератор
Сообщений: 1583



Недавно было обсуждение по этой же теме. Потщите, не сочтите за труд.
avtoritet
Отправлено: 28.09.2004, 12:37


Ученик-кочегар

Группа: Участник
Сообщений: 15



То что обсуждалось на форуме -
это что единственный вариант? Выходит мне придется заменить почти все компоненты на компоненты с вкладки InterBase.
Кроме как LocateNwext компонентов TIB... ипользовать что — нечего? Имеется ли анология для TQUery?
olegenty
Отправлено: 28.09.2004, 13:59


Ветеран

Группа: Модератор
Сообщений: 2412



если ты пользуешься IB/FB/Yaffil, то лучше именно так и сделать, за одним исключением — скачай с Devrace.com компоненты FIBPlus, ибо IBX не поддерживает всех фич FB/Yaffil, и заточены только под IB, в то время как FIBPlus работают со всеми серверами.

другой вариант есть — инкрементный поиск, например встроенным в TDBGridEh средством — FindDialog... (устанавливаешь опцию в true, жмешь Ctrl+F — всплывает поисковое окно и ты начинаешь тащиться. НО! тормоза гарантированные, хотя всё зависит от того, сколько данных будет в твоём наборе данных...)
olegenty
Отправлено: 28.09.2004, 14:31


Ветеран

Группа: Модератор
Сообщений: 2412



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

Вернуться в Работа с базами данных в C++Builder