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


Автор: beif 6.11.2004, 19:16
Проблема: как можно использовать фильтр при работе с Мемо-полем в БД? Если поле строковое то строка TTable.Filter = 'A*' - фильтрует все, начинающееся на А, а как так сделать с полем-Мемо, да еще желательно, чтобы можно было искать не только первое вхождение - а любое...?

Автор: Vit 6.11.2004, 19:33
Никак...

Автор: Medved 6.11.2004, 19:44
Я не могу представить ситуацию, для чего нужно сотрировать memo-поля. Обычно сортируют по каки-мо заголовкам, названиям и т.д.

Автор: Vit 6.11.2004, 20:13
Создавать какие-то индексы вручную - списки ключевых слов и т.п.

Автор: Medved 6.11.2004, 20:45
Да, имхо это есдинственный выход.

Автор: p0s0l 6.11.2004, 23:11
А если сделать Calculated-поле. И делать фильтр типа такого:
'CalcField = 1', а CalcField вычислять (в OnCalcFields) так как нужно: если мемо содержит нужную подстроку, CalcField = 1, иначе CalcField = 0...
Я так делал пару раз (когда не стоял вопрос быстродействия)

(только это для запросов не подойдёт, только для локального фильтра...)

Автор: beif 7.11.2004, 08:29
Не, мне ПОИСК нужен по текстам большого размера, т.е. длиннее строки в 255 символов, как его сделать? Или МЕМО-поля вообще не использовать для этого?

Автор: Vit 7.11.2004, 16:32
Никак поиск по мемо полям не сделать, разве что вручную каждым запросом проходить по всем записям

Автор: beif 7.11.2004, 16:41
Vit, спасибо большое

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