Форум: "Базы";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
ВнизФильтрация в 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.007 c