Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.03;
Скачать: CL | DM;

Вниз

Фильтрация в Query чтото не так гдето зверь зарылся   Найти похожие ветки 

 
Sliften ©   (2003-06-09 22:54) [0]

Есть таблица (60000тыс,зап,)также в ней имеется 2 колонки ID_POST(код поставщика,integer) и SINONEM (синоним названия товара.integer)
причем в поле ID_POST разброс данных от 1 до 15 а в поле SINONEM от 1 до 20000
так вот делаем к табл, живой запрос и выводим в DBGrid далее редактируем некое поле ZAKAZ, начинаем фильтровать и тут начинается ерунда, если фильтруем по ID_POST все OK, а если по SINONEM то на целую минуту причем время зависит от кол-ва отредактируемых записей (ZAKAZ)

SQL менят нельзя (потому что AppliUpdates делаем потом в самом канце)
код фильтра прост
по SINONEM
DM.F_PrisesQuery.Filtered:=true;
DM.F_PrisesQuery.Filter:= "SINONEM = " + DM.BySINONEMQuery.FieldByName("SINONEM").AsString;

по ID_POST
DM.F_PrisesQuery.Filtered:=true;
DM.F_PrisesQuery.Filter:= "ID_Post = " + DM.ByPostQuery.FieldByName("ID_POST").AsString;

помогите разобраться в чем разница то ведь как я понел фильтр так и так проходит весь набор данных


 
Rol   (2003-06-10 06:13) [1]

Прилепить индекс. С точки зрения простой логики: Зачем активировать фильтр и только потом его задавать?


 
Sliften ©   (2003-06-10 08:56) [2]

Нет зверь кажется нашолся
Может кто сможет обьяснить на будующие? После отключения (DM.F_PrisesQuery.CachedUpdates:=true;) все проходит на ура по всем полям, кроме торо рание у меня велся поиск записей
varID_PRISES:=DM.ZakazOutQuery.FieldByName("ID_F_PRISES").AsInteger;
varZAKAZ:=DM.ZakazOutQuery.FieldByName("ZAKAZ").AsString;

if DM.F_PrisesQuery.Locate("ID_F_PRISES",varID_PRISES,[])then
begin
DM.F_PrisesQuery.Edit;
DM.F_PrisesQueryID_PODR_KLIENT.AsString:=varPODR_KLIENT;
DM.F_PrisesQueryZAKAZ.Text:=varZAKAZ;
DM.F_PrisesQuery.Post;)
end;
он тоже проходил около 1мин, (вставлялость около 200), а сейчас же 1сек,
обьясните почему процедура CachedUpdates так все тармозила когда была включена (по умолчанию)


 
Johnmen ©   (2003-06-10 09:37) [3]

Тормозили вызовы и работа процедур, обслуживающих функционирование кеширования...


 
Sliften ©   (2003-06-10 10:47) [4]


>
> Johnmen © (10.06.03 09:37)
> Тормозили вызовы и работа процедур, обслуживающих функционирование
> кеширования...

а почему тогда все нормально фильтровалось (до исправления) по полю ID_POST вот в чем загадка, для меня
Да и еще фильтрация проходила уже после сбора набора данных


 
Johnmen ©   (2003-06-10 11:02) [5]

>а почему тогда все нормально фильтровалось

Ну почему же не фильтроваться нормально ? :)



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

Текущий архив: 2003.07.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
7-7732
MortalScorpion
2003-04-23 16:24
2003.07.03
Microfone


3-7359
Valet
2003-06-11 09:35
2003.07.03
Где взять провайдер для работы с IB через АDO


14-7657
NikotiN
2003-06-16 16:16
2003.07.03
А что лучше PowerDraw 3 или DelphiX


14-7620
budoudoo
2003-06-15 20:42
2003.07.03
Как сделать гостевую книгу с помощью Делфи


7-7742
demonyator
2003-04-14 23:49
2003.07.03
Как в XP спрятаться от ALT+TAB?