Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > поиск по базе в delphi


Автор: я_чайник 9.10.2004, 21:14
Люди помогите пожалуйста!!!
Как сделать поиск в базе .dbf {foxpro}, {саму программу пишу в delphi}, так чтобы при вводе значения в поле DBEdit сразу шел поиск.
или др. может вариант

СПАСИБО!!!

sample.gif отправте на e-mail smile.gif

Автор: Kesh 9.10.2004, 21:25
Делай через квери... Причем лучше по индексированному полю...

Автор: x77 11.10.2004, 13:56
зачем через квери? если я правильно понял, надо просто организовать инкрементальный поиск по таблице. соответственно, на TEdit.OnChange вешаем что-то типа "... if Edit1.Text <> '' then Table1.Locate (Edit1.Text, [loCaseInsensitive, loPartialKey])... "

Автор: Cashey 11.10.2004, 19:32
Locate'ом будет слишком медленно, надо что бы при вводе, динамично отображалось. Надо индексировать поле и использовать поиск по индексу FindKey(), FindNearest(), SetKey и GotoNearest. Еще есть способ динамически фильтровать записи, иногда полезно.


PS А аватар какой-то уж больно знакомый, http://vingrad.ru/@ida biggrin.gif

Автор: x77 12.10.2004, 09:43
Cashey, если порле индексировано - Locate сам будет работать по этому индексу. FindKey быстрее не будет, его отличие только в том, что если поле не индексировано - он даст ошибку.

а у Иды совсем другой аватар smile.gif был ещё у кого-то такой же, но я сейчас не помню, у кого.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)