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


Автор: BCworm 1.2.2010, 17:50
Привет всем.
 Третий день не могу научиться пользоваться индексами. Ничего не выходит тупо пишет .. такова индекса не существует
Делаю вот как. 
Создал таблицу первичный ключ ID поле FIO и поле Category. Мне необходимо сделать поиск и сортировку с использованием индексов. Итак зашел в DBD создал вторичные индексы по полям FIO и Category. Сохранил все. На кнопке написал код

Код

tbEmpl.Active:=false;
tbEmpl.IndexName:='inFIO';//это индекс по полю FIO
tbEmpl.Active:=true;
tbEmpl.Setkey;
tbEmpl['FIO']:=Edit2.Text; //это название поля
tbEmpl.Gotokey;


При нажатии на кнопку получаю Index does not exist.
Смотрю в Object inspector вижу что в боксе IndexNames есть индексы которые я создал. Т.е они есть!. Если в боксе выбрать индекс inFIo видно что сортировка таблицы меняется.

Что делать?

Автор: Deniz 2.2.2010, 06:49
BCworm, предлагаю отказаться от TTable в пользу TQuery (это для BDE).

Автор: BCworm 2.2.2010, 15:35
Нет так нельзя.Я должен понять как это работает.
Хм неужели ни кто не хочет или чего хуже не может понять в чем дело? Наверняка ведь сталкивались. Да полюбому сталкивались если читали все что есть по этому в рунете и за пределами потому как везде описано как всегда.

... чтобы произвести поиск нужно создать индексированное поле. Если вы его не создадите то ничего работать не будет
... и т.д. в том же роде без единой строки пояснений

Автор: Deniz 3.2.2010, 06:06
BCworm, выкладывай суда, посмотрим.
Цитата(BCworm @  2.2.2010,  17:35 Найти цитируемый пост)
Хм неужели ни кто не хочет или чего хуже не может понять в чем дело?
с BDE уже мало кто работает, тем более с TTable, а вспоминать как это было ...

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