Вниз
Скачать: CL | DM;

фильтр по двум колонкам   Найти похожие ветки 

 
DIS   (2004-06-11 00:29) [0]

Подскажите, пожалуйста, как правильно написать SQL запрос. В этом запросе мне нужно делать фильтр по двум колонкам column1, column2. Загвоздка в том, что текст пишется в edit1 и соответственно edit2. Пробовал как в примере из help, но они не подходят, видимо нужно разобраться с колличеством запятых?

Query1.SQL.Text:="select * from phone WHERE column1  Like "+QuotedStr(""+Edit1.Text+"%")  and column2  Like "+QuotedStr(""+Edit2.Text+"%") ;


 
hyper_omsk   (2004-06-11 07:44) [1]

Query1.sql.add("select * from phone where column1="+edit1.text+" and column2="+edit2.text");

Будет работать если поля не дата и не время
если дата нужно

Query1.sql.add("select * from phone where column1="""+edit1.text+""" and column2="""+edit2.text""");


 
Mike Kouzmine ©   (2004-06-11 09:31) [2]

Для парадокса эффективнее будет сделать индекес, где два первых поля - те, по которым ты ищешь и делать SetRange. Если, конечно, это не первичный индекс.


 
DIS   (2004-06-11 18:08) [3]

А ларчик просто открывался. Вобщем я написал так

procedure TForm2.Button3Click(Sender: TObject);
begin
Query1.close;
Query1.SQL.Clear;
Query1.sql.add("select column1, column2, column3");
Query1.sql.add(" FROM table");
Query1.sql.add("WHERE column1 like """+Edit1.Text+"%"" and column2 like """+Edit2.Text+"%"" and column3 like """+Edit3.Text+"%""" );
Query1.Open;
end;



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
4-1085487564
Kristy
2004-05-25 16:19
2004.07.11
Получение нажатий клавиш в Windows с помощью WH_JOURNALRECORD


1-1088228074
dreams
2004-06-26 09:34
2004.07.11
Проблема с юниктом HSAdvApi , где его взять ?


1-1088062295
Heretic
2004-06-24 11:31
2004.07.11
Дочерние окна


14-1087718052
Anatoly Podgoretsky
2004-06-20 11:54
2004.07.11
С днем рождения 20.06.2004


14-1088064553
Andryk
2004-06-24 12:09
2004.07.11
А никто ни где не натыкался на запись




   Наверх