Форум: "Базы";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Внизфильтр по двум колонкам Найти похожие ветки
← →
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 вся ветка
Форум: "Базы";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.035 c