![]() |
|
![]() ![]() ![]() |
|
mirra88 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 8.8.2010 Репутация: нет Всего: нет |
Кто-нибудь знает как в Builder6, в базах данных реализуется быстрый поиск (набираю "А" появляются все записи на эту букву, и т. д.)? Что-то я не нашла в Builder6 подобного элемента..
|
|||
|
||||
Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 11 Всего: 130 |
Думаю, кроме как выборкой запросом - никак.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Либо запросом. Либо выбрать всё и использовать фильтр.
-------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
kin |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 9.5.2008 Репутация: 1 Всего: 6 |
Делаешь нужный индекс, в обработчике событий клавиатуры используешь методы Seek или Location объекта DataSet (за точность именования не ручаюсь (давно это было...), но суть, думаю, понятна) по левому краю ключа...
|
|||
|
||||
XPyCT |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 381 Регистрация: 24.8.2007 Где: Moldova Репутация: 10 Всего: 10 |
Когда то реализовал нечто подобное для MSSQL сервер 2005
на событие Едита "Edit9" - OnChange() вызываете данную функцию
как то так |
||||
|
|||||
mirra88 |
|
||||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 8.8.2010 Репутация: нет Всего: нет |
Всем спасибо за помощь. Код XPyCTа мне помог, всё работает, но медленно. Я хотела проверить не будет ли быстрее метод фильтрации, но возникла вот такая проблема. Вот так вот работает:
Но мне надо, чтобы вывелось не только то, что введено в текстовое поле, а всё, что начинается с введённого. Но вот так уже выводит пустую таблицу:
С этой * у меня ни с какими сочетаниями кавычек не получается! Хотя теоретически я понимаю, что проблема должна решаться как-то просто. Помогите, пожалуйста Это сообщение отредактировал(а) mirra88 - 28.7.2011, 19:26 |
||||
|
|||||
artsb |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
% - аналог *. Значит любое количество любых символов.
Естественно, медленно. Каждый раз выполнять запрос это дорогого стоит. Поэтому я вам про фильтр сразу и сказал. Он работает мгновенно. Добавлено @ 20:09 Кстати, забыл сказать вам нужно обязательно проверять содержимое Edit'а на наличие символа < ' >. Это служебный символ. Его нужно экранировать. Для этого нужно записать два символа подряд. Это сообщение отредактировал(а) artsb - 28.7.2011, 20:09 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
||||
|
|||||
mirra88 |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 8.8.2010 Репутация: нет Всего: нет |
Большущее спасибо! С таким фильтром всё действительно работает быстро и без проблем!
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |