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

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

Баг с фильтрацией в ClientDataSet? [D7, MSSQL, Paradox]


Aleksandr ©   (2003-02-11 10:35:00) 

Когда свойству Filter ClientDataSetа, настроенного на парадоксовский запрос, присваиваю выражение, фильтрующее по полям типа ДатаВремя с оператором, отличным от "=", он просто игнорирует такой фильтр :(. Например, он понимает, что такое Date1="02/02/2003", а вот Date>="02/02/2003" или Date<"03/03/2003" ему пофигу... Как это лечить можно?


Aleksandr   (2003-02-11 13:51:00) [1]

Мда? Не совсем понимаю, нафига тут скобки плодить, но попробую так... И, кстати, истчо одна фиговинка у ClientDataSet"a - если фильтр превышает н-ное число символов, то он выдает Access Violation midas.dll. И CommandText ограничен по длине. Недоработки, млин.


Johnmen   (2003-02-11 13:16:00) [2]

Filter:="(CarTypeID="+Client.FindField("CarTypeID").AsString+") AND (FirstDate>="""+FormatDateTime("mm/dd/yyyy",Client.FindField("FirstDate").AsDateTime)+""")";


Соловьев   (2003-02-11 13:07:00) [3]

Может скобки надо поставить?
Filter:=" (CarTypeID="+ Client.FindField("CarTypeID").AsString+" )AND (FirstDate>="+Client.FindField("FirstDate").AsString+" )"
и еще посмотри сам фильтр, что там у тебя после его формирования?


Aleksandr   (2003-02-11 11:33:00) [4]

У этого КлиентДатаСета свойство Filtered включено, FilterOptions = [foCaseInsensitive]. При скроллинге одного КлиентДатаСета второму делаю: Filter:="CarTypeID="+ Client.FindField("CarTypeID").AsString+" AND FirstDate>="+Client.FindField("FirstDate").AsString;

И результаты = 0, хотя копирую содержимое фильтра в ДатаБазе Эксплорер, там повторяю - записи есть.


Соловьев   (2003-02-11 11:10:00) [5]


> ему пофигу...

А что происходит?
Как ты ему фильтр присваиваешь?
Как включаешь?


Aleksandr   (2003-02-11 11:04:00) [6]

Сорри, слово Date взял от фонаря, не поставив циферки... Но сути это не меняет.


Соловьев   (2003-02-11 10:40:00) [7]


> Date>="02/02/2003" или Date<"03/03/2003"

Date или Date1.
Date - это функция в Delphi


Наверх

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