Поиск в полях типа "Memo" в Базе Данных ADO
От: ErRoR  
Дата: 13.03.05 22:26
Оценка:
Есть таблица, в ней поле типа мемо.
Стоит задача: Найти записи у которых в "Memo" присутствуют заданные слова.
Самое простое — просто прыгать с записи на запись и в каждом мемо искать текст, пока не найдено. Но как бы сказать, медленно ADO работает. Пишу программу в среде Delphi 6.
Подскажите как реализовать поиск, более-менее быстрый в данных условиях.
Re: Поиск в полях типа "Memo" в Базе Данных ADO
От: Callisto  
Дата: 14.03.05 00:07
Оценка:
Здравствуйте, ErRoR, Вы писали:

ERR>Есть таблица, в ней поле типа мемо.

ERR>Стоит задача: Найти записи у которых в "Memo" присутствуют заданные слова.
ERR>Самое простое — просто прыгать с записи на запись и в каждом мемо искать текст, пока не найдено. Но как бы сказать, медленно ADO работает. Пишу программу в среде Delphi 6.
ERR>Подскажите как реализовать поиск, более-менее быстрый в данных условиях.

для "данных условий" не хватает одного — какая БД используется ?
Re: Поиск в полях типа "Memo" в Базе Данных ADO
От: Sinclair Россия https://github.com/evilguest/
Дата: 14.03.05 04:54
Оценка: +1
Здравствуйте, ErRoR, Вы писали:

ERR>Есть таблица, в ней поле типа мемо.

ERR>Стоит задача: Найти записи у которых в "Memo" присутствуют заданные слова.
ERR>Самое простое — просто прыгать с записи на запись и в каждом мемо искать текст, пока не найдено. Но как бы сказать, медленно ADO работает. Пишу программу в среде Delphi 6.
ERR>Подскажите как реализовать поиск, более-менее быстрый в данных условиях.
В SQL есть специальный оператор для таких случаев. Пример поиска слов Вася и Маша в поле Text:
select * from myTable where Text like '%Вася%Маша%'

Примечание: такой код найдет только такие тексты, где есть оба слова, и где Маша упомянута после Васи.
Примечание 2: like поддерживает 2 специальных символа — '_' (сопоставляется одному любому символу) и '%' (сопоставляется любому количеству любых символов). Работает все так же, как файловые маски. Маска "*.ar?" превратится в "%.ar_".
Примечание 3: Запросы с like плохо поддаются оптимизации. Во многих СУБД поддерживаются нестандартные расширения для более быстрого и сложного поиска слов в текстах. Название технологии, как правило, включает термин "full-text".
... << RSDN@Home 1.1.4 beta 4 rev. 347>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.