![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Установить фильтр для ADOQuery [D7, MSSQL]
french_cat © (2008-06-04 12:15:00)Здравствуйте, подскажите, пожалуйста, решение такой задачки. 3 таблицы подключены к отдельному ДатаСурсу, которые юзают один АДОКвери, нужно для каждой таблицы в датасете установить свой фильтр, что-то типо того:
DBGridEh1.DataSource.DataSet.Filter:= 'summ<>0';
DBGridEh2.DataSource.DataSet.Filter:= 'summ=0 and perc=0';
DBGridEh3.DataSource.DataSet.Filter:= 'perc=100';
чтобы один и тот же запрос для каждой таблицы выводил только нужные значения. Но если написать так, то для всех таблиц срабатывает каждый фильтр. Подскажите, плиз, что делать
MsGuns (2008-06-04 15:53:00) [1]Использовать клоны датасета
Anatoly Podgoretsky (2008-06-04 14:13:00) [2]> french_cat (04.06.2008 13:37:10) [10]
Смысл понятен, но он бессмысленен, делай три запроса и каждый со своим условием отбора, а фильтр на свалку.
Есть сложные методы, это уход в сторону с ADO.VCL на чистое ADO функция Clone, но тебе и рано и задачу лучше решить вышеуказаным способом.
Sergey13 (2008-06-04 13:44:00) [3]> [10] french_cat © (04.06.08 13:37)
> смысл, я думаю, понятен
Как раз таки нет. Чего надо то? Како смысл именно ОДНИМ селектом заполнить чего-то там ТРИ? Почему именно фильтрами что-то регулируется, если используется SQL? Экономишь на компонентах?
french_cat (2008-06-04 13:37:00) [4]не стоит придираться к словам, смысл, я думаю, понятен
Sergey13 (2008-06-04 13:29:00) [5]> [7] french_cat © (04.06.08 13:18)
> одним селектом заполнить 3 таблицы
Это вообще из области фантастики. 8-))))))))))
Селект ничего не заполняет.
Ega23 (2008-06-04 13:23:00) [6]
var
ss : string;
begin
ss := 'Select ... from ... where ...';
with ADODataSet1 do
begin
CommandText := ss;
Open;
end;
with ADODataSet2 do
begin
CommandText := ss;
Open;
end;
with ADODataSet3 do
begin
CommandText := ss;
Open;
end;
end;
french_cat (2008-06-04 13:18:00) [7]Хорошо, тогда может подскажите как поставить задачу, чтобы одним селектом заполнить 3 таблицы (но данные для них регулируются фильтрами)
Плохиш (2008-06-04 13:10:00) [8]
> french_cat © (04.06.08 12:53) [4]
> Так я не поняла, что, ситуация безвыходная?
Можешь ты одновременно находиться в трёх магазинах в разных частях города?
Ega23 (2008-06-04 13:03:00) [9]
> Так я не поняла, что, ситуация безвыходная? ((((
В том виде, в котором ты ставишь задачу (1 датасет, 1 датасорс, 3 дбгрида) - да, безвыходная.
french_cat (2008-06-04 12:53:00) [10]Так я не поняла, что, ситуация безвыходная? ((((
Ega23 (2008-06-04 12:41:00) [11]
> дата сет один
дата сета - 3.
One shot - three kill - не получится.
french_cat (2008-06-04 12:25:00) [12]дата сет один
Ega23 (2008-06-04 12:21:00) [13]3 дата сета, 3 дата соурса, 3 грида.
3 выстрела - 3 трупа.