|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.07.2017, 16:29 | #1 |
Пользователь
Регистрация: 02.11.2016
Сообщений: 10
|
Поиск по базе данных с запросом SQL
Ассаламу ъалайкум в.р.в.б всем
... if edit1.Text='' then ADOQuery1.Active:=false else begin ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add('SELECT فارسی FROM Таблица1 WHERE فارسی LIKE '''+Edit1.text+ '%'''); ADOQuery1.SQL.Add('order by فارسی'); ADOQuery1.Active:=True; ... Как вы заметили ошибок тут нету. Когда набираю какую нибудь букву например "А" то база тут же открывается и показывает записи начинающие с "А" но не сразу а через 3 секунды (2300000 записи). А когда ввожу вторую букву то поиск по базе в пределе миллисекундах, и чем больше букв, тем меньше становится запись и поиск по базе быстрее. Как сделать так, что бы когда я вводил букву А то база не открывалась а когда вводил вторую букву Н то база сработала и показала записи начинающие с "А". пример не так уж сложный, но иногда голова у меня как "томатная банка" Буду Благодарен вам за помощь |
27.07.2017, 16:45 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
Это в OnChange эдита? Так не ищи, если введен один сивол, если больше одного - ищи без последнего символа. Смешной правда поиск получится )) Лучше не в OnChange, а по кнопочке поиск сделать, если там миллионы строк в таблице, имхо
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
27.07.2017, 16:57 | #3 |
Пользователь
Регистрация: 02.11.2016
Сообщений: 10
|
да это в чейндже едита ) мне нужен нормальный малый sql запрос.
|
27.07.2017, 16:58 | #4 |
Пользователь
Регистрация: 02.11.2016
Сообщений: 10
|
если это возможно
|
27.07.2017, 17:02 | #5 |
Форумчанин
Регистрация: 01.06.2012
Сообщений: 139
|
Так у тебя и так маленький запрос, либо как предложил Аватар, по Count строки запускать поиск, либо просто разбей данные на несколько таблиц, убедись точно ли эти все данные тебе нужны, добавь фильтры и будет тебя счастье.
Следствие: 99% проблем, сваливаемых на Microsoft, является следствием тупости самих программистов.
|
27.07.2017, 17:09 | #6 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
Код:
программа — запись алгоритма на языке понятном транслятору
|
27.07.2017, 18:33 | #7 |
Пользователь
Регистрация: 02.11.2016
Сообщений: 10
|
спасибо но это уже другое ! Но если посчитать что моя таблица имеет 2300000 записи то из них 221520 начинается с буквы "А" то можно можно просто использовать оператор like и поставит а% вот так:
'SELECT فارسی FROM Таблица1 WHERE فارسی LIKE '''+Edit1.text+ 'а%''' для 200 тыс. записи не уж то плохо )! да и оператор ЛАйК будет благодарит меня тем что я заставляю искать только записи начинающие с А. Иногда мне кажется что когда я ввожу так "%" то оператор Лайк программно матерится мне Да также можно использовать оператор Not Like но как никак благодарен Вам ! и если есть какие нибудь хитрые или разумно умные варианты то пишите Последний раз редактировалось Фируз1990; 28.07.2017 в 07:15. |
27.07.2017, 18:39 | #8 |
Пользователь
Регистрация: 02.11.2016
Сообщений: 10
|
спасибо тебе !
|
15.08.2017, 20:56 | #9 |
Пользователь
Регистрация: 15.08.2017
Сообщений: 10
|
это НЕ поиск, это отбор данных
поиск - это позиционирование а вообще действительно лучше сначала дождаться от пользователя ввода всей маски, а уж потом по кнопке "Бегом!" доставать данные основное время у тебя занимает, скорее всего, перекачка данных (fetch) с сервера на клиент, причем 99.999% этих данных никогда не понадобятся так зачем мучить комп и людей? |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите пожалуйста с SQL запросом базы данных | Tormozz | Помощь студентам | 4 | 08.06.2016 14:06 |
Помощь в базе данных sql | Saka | SQL, базы данных | 8 | 28.12.2015 21:30 |
SQL-запрос, поиск по базе | Konstantin_ua | БД в Delphi | 26 | 21.07.2015 16:40 |
программа на delphi к базе данных MS SQL | ShuShuX | Помощь студентам | 0 | 20.05.2013 23:17 |
получение текстовых данных SQL запросом | R Dmitry | Microsoft Office Excel | 3 | 01.05.2011 01:29 |