Вопрос № 92224: Здраствуйте Подскажите как зделать нормальный фильтр !!!!
Пока пользоался этим :
..
Вопрос № 92.224
Здраствуйте Подскажите как зделать нормальный фильтр !!!!
Пока пользоался этим :
Приложение:
Отправлен: 20.06.2007, 17:53
Вопрос задал: VaNuk (статус: 3-ий класс)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Виктор Пырлик
Здравствуйте, VaNuk!
для формирования строки удобно пользоваться функцией Format().
Filter := Format('pole = %s',[Edit1.Text]);
Для таблиц так и используется свойство Filter.
Для TQuery (TIBQUery, TADOQuery) можно ч/з запрос используя параметры:
SELECT * FROM MYTABLE WHERE POLE1 = :P1
Тогда можно использовать параметр P1 как условие.
Или использование процедур на сервере - тоже параметры.
--------- Если ничего не помогло - надо читать инструкцию
Ответ отправил: Виктор Пырлик (статус: 4-ый класс)
Ответ отправлен: 20.06.2007, 20:09
Отвечает: Delph
Здравствуйте, VaNuk!
Не знаю, возможно ли создать нормальную фильтрацию в компонентах Table... Я обычно пользуюсь компонентом Query, но в Interbase его можно использовать лишь для внесения данных в базу. В Вашем случае подойдёт компонент Dataset. Я бы сделал так:
if <какая-то проверка> then str := 'where <условия фильтрации>' else str := '';
DataSet.Close;
DataSet.SelectSQL.Text := 'select <названия полей> from <названия таблиц(ы)> ' + str;
DataSet.Open;
Число фильтров можно сделать и больше одного, тогда технология чуть усложняется. Если Вам это интересно, пишите в личку, расскажу о своих методах. Только чтобы не быть голословным, укажите названия таблиц, полей и какие фильтры хотите предоставить в программе.
P.S. Весной я уже сдал предприятию проект, работающий с FireBird 2. Не могу сказать, что технолигия IB меня устроила, но прога работает... Так что детальную помощь оказать смогу. Сейчас же я работаю с PostgreSQL. Вопреки обоснованному мнению других экспертов работаю с базой через компоненты ADO, что дает возможность настраивать программу как на MS SQL, так и на PostgreSQL без перекомпиляции - программа, запускаясь, считывает из ini-файла, с каким сервером ей работать, а так же настройки соединения. Но за универсальность
плачу скоростью - родные компоненты работают всегда быстрее.
Ответ отправил: Delph (статус: 4-ый класс)
Ответ отправлен: 21.06.2007, 14:57