Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Фильтрация в TQuery [D7, MSSQL]


Andrey Filatow ©   (2003-05-08 16:30:00) 

Есть Query уже активированный. Как дельфовами методами (к примеру свойством filter или что нить еще ) получить результат на подобии запроса sql:
select * from table1 where id like "%hi%" ?


Tolik1   (2003-05-09 16:11:00) [1]

у меня работает такой пример (правда, если строка для Like не содержит пробелов)
Здесь фильтрование происходит по нескольким параметрам.

procedure TForm1.MakeDBGrid1Filter;
begin
ADOQuery1.Filtered := False;
case RadioGroup2.ItemIndex of // признак того, что документ возвращен
0: AdoQuery1.Filter := "";
1: AdoQuery1.Filter := "Возвращен = 1";
2: AdoQuery1.Filter := "Возвращен = 0";
end;
CurrentFilter := trim(AdoQuery1.Filter);

if (Edit1.Text = "") OR (Edit1.Text = null) then
AdoQuery1.Filter := CurrentFilter
else
begin
if (CurrentFilter = "") OR (CurrentFilter = null) Then
AdoQuery1.Filter := "[ФИО агента] LIKE %"+Edit1.text+"%"
else
AdoQuery1.Filter := CurrentFilter + " AND " + "[ФИО агента] LIKE %"+Edit1.text+"%";
end;
CurrentFilter := trim(AdoQuery1.Filter);

if (Edit2.Text = "") OR (Edit2.Text = null) then
AdoQuery1.Filter := CurrentFilter
else
begin
if (CurrentFilter = "") OR (CurrentFilter = null) Then
AdoQuery1.Filter := "[Наименование организации] LIKE %"+Edit2.text+"%"
else
AdoQuery1.Filter := CurrentFilter + " AND " + "[Наименование организации] LIKE %"+Edit2.text+"%";
end;

ADOQuery1.Filtered := True;

end;


Erik Ivanov   (2003-05-09 14:59:00) [2]

Делаеш Filter := "id like "%hi%""; - тут возможны варианты
Filtred := True;


Mike Kouzmine   (2003-05-08 17:18:00) [3]

accept := (pos("hi",qt1.asString) >0);


Наверх

Титульная страница Поиск, карта сайта Написать письмо