![]() |
|
|
![]()
|
|
| aleks88 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 31.8.2011 Репутация: нет Всего: нет |
Подскажите, как организовать лучше поиск по таблице.
Делаю следующим образом, но при этом, находит только первое совпадение, а хотелось бы, чтобы при повторном нажатии на кнопку поиска, эффект был как "искать далее".
Код взял где-то как пример, как он работает понять не могу... |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: нет Всего: 130 |
А не проще запросом вывести в грид сразу все найденные записи?
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| aleks88 |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 31.8.2011 Репутация: нет Всего: нет |
Это я хотел назвать фильтрацией - проще
Мне бы хотелось, что бы возможен был поиск, как я описал выше и фильтрация, т.е. когда в ДБГриде остаются строки, удовлетворяющие некому критерию. Сделал так
criterion_search - фильтруемое поле Edit1->Text - искомое значение... Можно ли каким-либо образом подобно сделать фильтрацию по сложному фильтру, т.е. логическое "и". Пробовал последовательно применять, вторая фильтрация выполняется по всему множеству данных, а не по выборки из первого фильтра... Это сообщение отредактировал(а) aleks88 - 25.1.2012, 16:32 |
|||
|
||||
| GraNit |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 55 Регистрация: 20.10.2007 Репутация: нет Всего: нет |
Делал поиск по полю с фамилиями, но думаю переделать не сложно и по другим типам полей.
Суть: на форме DBGrid1, и Label2 в строке статуса. Отлавливаем нажатие кнопки, потом смотрим, что нажали, если это буква, то выдаем в Label2, если ESC, то стираем строку, если BACKSPACE то только одну букву... ну и при это постоянно ищем в базе. вот такое решение:
P.S. Конечно же поле должно быть проиндексированно. Это сообщение отредактировал(а) GraNit - 25.6.2012, 12:22 |
|||
|
||||
![]()
|
| Правила форума "C++: Базы данных" | |
|
|
Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах. Благодарим за понимание. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Базы данных | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |