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

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

ADOTable.Filter и float значения


Страницы:   1 2

George ©   (2010-11-30 09:23:00) 

Вот интересно. Есть поле в таблице содержащее числа с плавающей запятой. Есть ADOTable (/ADODataSet/ADOQuery - не суть важно). Ввожу в Edit что-то вроде 4,2 например. Теперь мне надо, чтобы сработал фильтр у датасета:


TariffsADOTable.Filtered := false;
TariffsADOTable.Filter := '(CatID = 1) and ' +
                                 '(MinValue <= ' + FloatToStr(LDMVal) + ') and ' +
                                 '(MaxValue >= ' + FloatToStr(LDMVal) + ')';
TariffsADOTable.Filtered := true;

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


George   (2010-11-30 11:58:00) [21]


> Ega23 ©   (30.11.10 11:56) [15]

А так таки вру. Глянул - про даты тоже тишина.


> З.Ы. С фильтрами не работал принципиально.

Канешно. Они тупые потому что. И малоюзабельные.


George   (2010-11-30 11:56:00) [22]


> Anatoly Podgoretsky ©   (30.11.10 11:49) [13]

Ну мое скромное мнение, что да. Я бы предусмотрел удобную фильтрацию по основным типам данных - строкам, целым числам, числам с плавающей запятой, датам и логическим типам. Что мешало сделать параметры для фильтрации?


Ega23   (2010-11-30 11:56:00) [23]


>  Вроде про даты тоже че то было.



unit System;
....
TDateTime = type Double;


З.Ы. С фильтрами не работал принципиально.


George   (2010-11-30 11:53:00) [24]


> sniknik ©   (30.11.10 11:42) [12]

Речь шла о концепции фильтра. Насколько я знаю, оно одинаково работает что у TADOTable, что у TADOQuery, что у TADODataSet.


> а дельфи тут не причем. это не язык дельфи, это внешнее.
>  т.е. даже если нету, то все одно не обязаны.

Я говорю про справку, идущую в комплекте с Delphi 2010. Возможно это есть в справке к Delphi 7, но к 2010-ому нету.


> такой нет, и не может быть. а вот про сам метод/переменную
> Filter, ее правила/особенности, другое дело.

Конечно. Есть. Но все либо про строки, либо про целые числа. Вроде про даты тоже че то было. Но все не то - не мой случай.


> оно есть, и оно весьма простое. (не, есть и особенности,
>  но не в этом случае).

Ну таки недостаточное, как мне видится.


Anatoly Podgoretsky   (2010-11-30 11:49:00) [25]

> George  (30.11.2010 11:01:07)  [7]

Так ли это


sniknik   (2010-11-30 11:42:00) [26]

> Юзабилити у TTable?!?!?!?
он упоминал и ADODataSet, надежда есть, иначе не стоило бы  и пытаться.


sniknik   (2010-11-30 11:40:00) [27]

> у меня Delphi 2010
а дельфи тут не причем. это не язык дельфи, это внешнее. т.е. даже если нету, то все одно не обязаны.

> где ни слова о фильтрации по числам с плавающей запятой.
такой нет, и не может быть. а вот про сам метод/переменную Filter, ее правила/особенности, другое дело.

> У компонента тоже должно быть некое юзабилити для использования оного программистом.
оно есть, и оно весьма простое. (не, есть и особенности, но не в этом случае).


Ega23   (2010-11-30 11:37:00) [28]


>  У компонента тоже должно быть некое юзабилити для использования
> оного программистом.

Юзабилити у TTable?!?!?!?
Вы делаете мне смеяться.


George   (2010-11-30 11:19:00) [29]


> sniknik ©   (30.11.10 11:08) [8]

Во-первых, я могу Вам выложить справку (у меня Delphi 2010), где ни слова о фильтрации по числам с плавающей запятой. Во-вторых, если Вы считаете нормальным, логичным и хорошим подходом то, что оно таки не документировано, и еще и сделано хрен знает как (могли быть хоть параметры предусмотреть, как для SQL запросов), то мне даже не о чем с Вами спорить. У компонента тоже должно быть некое юзабилити для использования оного программистом.


sniknik   (2010-11-30 11:08:00) [30]

> коли фильтр тупой. :)
можно поспорить, кто, и если выбирать между документированным фильтром, и программистом не сумевшим в нем разобраться... выбор очевиден.


George   (2010-11-30 11:01:00) [31]

Переделал фильтрацию на запросы. Лень ленью, а куда деваться, коли фильтр тупой. :)


И. Павел   (2010-11-30 10:37:00) [32]

> Да че та лень.

Ну хоть честно ответил, а не стал заливать про необходимость в этой задаче TTable и локальной фильтрации :)


Inovet   (2010-11-30 10:28:00) [33]

> [4] George ©   (30.11.10 10:27)
> Да че та лень. :)

А, ну это уважительная причина.


George   (2010-11-30 10:27:00) [34]


> А почему нехочется запрос?

Да че та лень. :)


Inovet   (2010-11-30 10:15:00) [35]

> [0] George ©   (30.11.10 09:23)
> FloatToStr(LDMVal)

Попробуй хотябы
FormatFloat

А почему нехочется запрос?

> [0] George ©   (30.11.10 09:23)
> Можно конечно данные доставать не с помощью фильтра, а запросец
> делать, но не хочется.


sniknik   (2010-11-30 10:12:00) [36]

> а не тот, который установлен в региональных настройках локальной машины?
в запросах на них плюют, т.к. запятая зарезервирована за перечислением.


И. Павел   (2010-11-30 10:02:00) [37]

Обычно фильтрами не пользуюсь (и уж тем более TADOTable), но может быть там просто другой разделитель, а не тот, который установлен в региональных настройках локальной машины?


Страницы:   1 2

Наверх

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