0 / 0 / 0
Регистрация: 07.02.2015
Сообщений: 136
|
||||||
1 | ||||||
Живой поиск по БД30.03.2015, 20:17. Показов 2304. Ответов 8
Метки нет (Все метки)
Нужно реализовать следующее:
есть база данных DataGridView и TextBox в TextBox1 вводим слово, при этом если ввели одну букву А то сразу же видим в базе все записи по столбцу Фамилия начинающиеся с буквы А, дописываем букву Б - показываются все записи начинающиеся с АБ и так далее. Как это сделать что не так в коде? Начинаю вводить просто пропадать
0
|
30.03.2015, 20:17 | |
Ответы с готовыми решениями:
8
Как сделать живой всплывающий поиск Возможно ли произвести Живой поиск/Автозаполнение списка ComboBox Живой поиск Живой поиск |
Почетный модератор
21400 / 9134 / 1083
Регистрация: 11.04.2010
Сообщений: 11,014
|
|
30.03.2015, 20:27 | 2 |
Tormento, стоит ли говорить, что выборка из БД на каждое движение в TextBox - это слишком "жирно"
Если В БД будет много записей, такая фильтрация быстро перестанет доставлять удовольствие. Выборку лучше делать после того, как информация уже введена в поле (например, нажатием Enter) Ну и ошибка у Вас в коде - где второй знак "%" после TextBox? Слева есть, а справа - нет
1
|
0 / 0 / 0
Регистрация: 07.02.2015
Сообщений: 136
|
|
30.03.2015, 21:31 [ТС] | 3 |
И ВСЕ ЖЕ КАК ЭТО СДЕЛАТЬ?
0
|
1710 / 1198 / 227
Регистрация: 23.12.2010
Сообщений: 1,527
|
|
30.03.2015, 22:02 | 5 |
Сообщение было отмечено Памирыч как решение
Решение
ну, чтоб не так "жирно" было, можно в отдельном потоке запросы в БД гонять. А в основной передавать только отобранные.
Или! Свойство Autocompletesource ставим в custom, а свойство autocompletecustomsource - заполняем выборкой из БД. По идее, можно заполнить одноразово, а оно само будет предлагать нам подходящие варианты. Только не забыть еще свойство AutocompleteMode из None изменить на другое, например Append Добавлено через 3 минуты Стоп, вроде же надо ТОЛЬКО после содержимого TextBox... Т.е. только справа. Мы же вроде как содержимым текстбокса начинаем поисковый запрос, т.е. формируем стартовую часть строки. Хотя сие на любителя, но раз поиск по фамилиям, как-то не сильно хорошо отбирать тупо по наличию фрагмента в строке безотносительно положения этого фрагмента в строке. Да, если в столбце таблицы БД, из которой мы строим список автоподстановок, есть повторения, имеет смысл применить в запросе DISTINCT (select distinct бла-бла...) - т.е. отбор только уникальных записей.
1
|
30.03.2015, 22:08 | 6 | |||||
Сообщение было отмечено Памирыч как решение
Решение
Имеется активный DataSet и где нибудь возможно в FormLoad прописываете
Возможны и другие вариации.
1
|
0 / 0 / 0
Регистрация: 07.02.2015
Сообщений: 136
|
|
31.03.2015, 19:23 [ТС] | 8 |
А поконкретней пример с определением ds и tbB
Непонятно...
0
|
31.03.2015, 21:01 | 9 | |||||
DataSet представляет расположенный в памяти кэш данных. В него можно закачать всю базу данных или отдельные таблицы и далее с ними работать. Это называется организация работы в отсоединеной среде, т.е. активное соединение с базой данных в процессе работы не требуется. Вообще-то я полагал, что все это вам известно.
И не зная всей задачи трудно судить, нужно ли организовывать DataSet или просто закачать одну таблицу. Тем не менее, пример.
0
|
31.03.2015, 21:01 | |
31.03.2015, 21:01 | |
Помогаю со студенческими работами здесь
9
Живой поиск Живой поиск Живой поиск Живой поиск Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |