Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];




Вниз

IBQuery + Edit 


Malyatkoya   (2002-01-21 21:46) [0]

Добрый вечер Метры баз данных! Появилась проблема которую не могу решить:((( А суть ее такова:есть база данных в которой в одной из таблиц находятся имена фирм заказчиков и другая информация о этой фирме.Необходимо написать запрос который при вводе в поле Еdit1 названия фирмы выводил бы в DBGride отображал название этой фирмы и другую информацию.Но при этом чтобы выполнялось условие, что при вводе например первых двух букв из названий фирмы и нажатии кнопки выводился бы список фирм в которых эти две буквы есть в начале названия фирмы.
При вводе трех... и т.д.
Пробовал сделать так:

procedure TForm1.Button1Click(Sender: TObject);
begin
IBQuery1.close;
iBQuery1.sql.Clear;
IBQuery1.SQL.Add("select * from firm");
IBQuery1.SQL.Add("where firm ="+Edit1.text+"");
IBQuery1.open;
end;

Но как результат получал пустую строку:(

Не знает ли кто как решить данную проблему?
Буду очень признателен за помощь. С ув. Malyatko.



Сержик   (2002-01-21 23:34) [1]

IBQuery1.SQL.Add("where firm like ""+Edit1.text+"%"");



Hawk2   (2002-01-22 10:01) [2]

TO Malyatko:
У меня похожая задача, только нужно написать телефонный справочник но всё лень. Мне тоже нужно чтобы при вводе одной буквы появлялись Фамилии людей которые начинаются на эту букву, при вводе ещё одной происходила фильтрация по двух буквах и т.д. Я пробовал делать так: обрабатывать не щелчек по кнопке, а метод OnKeyUp, получается набрал букву метод отработал и данные сразу же видаются (как в справочной системе Windows). А на счет кода то нужно вот так:
IBQuery1.SQL.Add("where firm like ""+Edit1.text+"% "");



User_OKA   (2002-01-22 14:42) [3]

to Hawk2
А событие OnChange того же TEdit не подойдет?



Hawk2   (2002-01-23 09:49) [4]

TO User_OKA:
Незнаю не пробовал. Я могу объяснить почему OnKeyUp, дело в том что я пробовал OnKeyDown, но получается с тормозами, например набрал 1-ю букву не фильтруется, набрал вторую фильтруется по первой, набрал третью фильтруется по первым двум и т.д. А OnKeyUp работает нормально.



User_OKA   (2002-01-23 12:23) [5]

to Hawk2
Событие OnChange наступает всякий раз при изменении TEdit.Text. Поэтому отпадает необходимость мучиться с кодами клавиш в OnKeyUp. Если же нужно отслеживать ввод, то можно использовать TMaskEdit (там тоже OnChange).




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.18;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.03 c
1-57153           ola                   2002-02-04 09:49  2002.02.18  
crazy query


3-57021           andey                 2002-01-18 19:46  2002.02.18  
объединение таблиц


14-57197          Василий               2001-12-26 22:29  2002.02.18  
Heeelp!


3-56987           Fay                   2002-01-23 15:18  2002.02.18  
Как в запросе MSSQL7 проверить сущ-е временной таблы


6-57170           Furkan                2001-11-22 09:44  2002.02.18  
Proxy