Delphi. MySQL. Реализуем поиск вхождений, регистрозависимый поиск, поиск точной фразы.

Сделать это довольно просто, опираясь на запросы SQL, которые я рассмотрел в предыдущем посте. Вот что у нас получится

2

А если поиск ничего не обнаружил, получим следующее

3

Итак, оформим такую панель поиска

1

Всего будет 3 типа поиска

-Поиск вхождений

-Точное соответствие

-Регистронезависимый поиск

Будем собирать ID записей, при нажатии на “Найти” будем ставить курсор на первую запись в найденной выборке, либо сообщать, что ничего не найдено.

При нажатии на стрелки вправо или влево будем перемещать курсор на соответствующие записи в общей выборке.

Перво-наперво создадим запросы, по аналогии с тем, как это мы делали в прошлом посте

Поиск вхождений

4

Хочу сказать, что если оставить это как есть, то ничего не выйдет. Пришлось этот запрос переписать уже непосредственно в коде программы таким образом

Код обращения к этому запросу из другого модуля будет выглядеть так

Поиск точной фразы

5

Использование в коде

Регистрозависимый поиск

6

Использование в коде

Подключение TFDQUery к базе данных

Как видно из кода, мы собираем ID в FIDSearchResult:TStringList; и далее пользуемся им. Также нам помогут 2 следующий переменных класса

Использование в главном модуле

Кнопка далее

Кнопка предыдущий

В принципе это все основные моменты. Далее, думаю, кому нужно доработает под себя.

Модуль uSearch

 

by Stanislav_Panteleev

Добавить комментарий