![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
фильтр по двум колонкам [D7, Paradox]
DIS © (2004-06-11 00:29:00)Подскажите, пожалуйста, как правильно написать SQL запрос. В этом запросе мне нужно делать фильтр по двум колонкам column1, column2. Загвоздка в том, что текст пишется в edit1 и соответственно edit2. Пробовал как в примере из help, но они не подходят, видимо нужно разобраться с колличеством запятых?
Query1.SQL.Text:='select * from phone WHERE column1 Like '+QuotedStr(''+Edit1.Text+'%') and column2 Like '+QuotedStr(''+Edit2.Text+'%') ;
DIS (2004-06-11 18:08:00) [1]А ларчик просто открывался. Вобщем я написал так
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;
Mike Kouzmine (2004-06-11 09:31:00) [2]Для парадокса эффективнее будет сделать индекес, где два первых поля - те, по которым ты ищешь и делать SetRange. Если, конечно, это не первичный индекс.
hyper_omsk (2004-06-11 07:44:00) [3]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''');