Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
14-7691
Кен
2003-06-17 03:29
2003.07.03
На чём написан Дельфи. На Си или на Дельфи ?


3-7322
abc
2003-06-09 18:31
2003.07.03
как запретить ячейки TDBGrid переводиться в режим редактирования?


7-7740
dolmat
2003-04-18 15:11
2003.07.03
как получить список всех запущенных приложений?


14-7683
baatars
2003-06-11 23:49
2003.07.03
Стильный AboutBox


7-7743
Dimka
2003-04-22 18:20
2003.07.03
Возможноли получить доступ к буферу приема или передачи COM порта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский