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

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

Свойство Filter [D6, MSSQL]


andrey__ ©   (2003-09-25 14:13:00) 

есть таблица у которой поле pol1 типа TDateTime
вытаскиваю с помощью компонента TADOQuery несколько записей.

Хочу отфильтровать их с помощью свойства Filter
делаю
qrList_UU_P.Filtered:=false;

qrList_UU_P.Filter:= "pol1 = 100";

qrList_UU_P.Filtered:=true;

Пишет несоответствие типов
хотя если вместо "pol1 = 0" поставить "pol1 = Null" все работает ставил так же условие
if qrList_UU_P.FieldValues["Date_F"] =100 then
ShowMessage("равно");
работает


andrey__   (2003-09-25 17:25:00) [1]

ZrenBy
QuotedStr(FormatDateTime("yyyymmdd hh:nn:ss",Curr_DateTime));

да помогло спасибо


Stas   (2003-09-25 15:47:00) [2]

to Johnmen © (25.09.03 15:40) [12]
И в BDE тоже самое, только с парадоксом.
Я тоже думал что не должен фильтр протормаживать.
Но у меня сильно тормозила таблица на 3000 записей когда я ее пытался фильтровать фильтром (это заметно при вставке записи и при пролистывании таблицы PageDown и PageUp), а стал фильтровать where все нормально.
Такое впечатление что при использовании фильтра на клиента передаются все данные а потом они отбирабтся.
MDAC у меня 2.8 .


Johnmen   (2003-09-25 15:40:00) [3]

>Stas © (25.09.03 15:14)
>при количестве записей более 1000 Filter начинает значительно протормажевать

Не может быть. Или это недоработка в АДО ?

>andrey__

Попробуй, как часто советуют, использовать OnFilterRecord.


andrey__   (2003-09-25 15:32:00) [4]

> А Вы попробуйте :)
пробовал.


Stas   (2003-09-25 15:14:00) [5]

А вообще лучше используй Where, при количестве записей более 1000 Filter начинает значительно протормажевать


Adony   (2003-09-25 15:06:00) [6]

А Вы попробуйте :)


Adony   (2003-09-25 15:06:00) [7]

И еще почитайте help про преобразования...


andrey__   (2003-09-25 15:01:00) [8]

> А почему FloatToStr???? а не DateTimeToStr

потому что тип TDateTime представляет числа вида 37740.381529, а если я напишу DateTimeToStr(Curr_DateTime) получится сравнение вида
37740.381529 = 2003.09.25 16:24:00


Adony   (2003-09-25 14:33:00) [9]

А почему FloatToStr???? а не DateTimeToStr


ZrenBy   (2003-09-25 14:33:00) [10]

qrList_UU_P.Filter:= "pol1 ="+
QuotedStr(FormatDateTime("yyyymmdd hh:nn:ss",Curr_DateTime));
?


andrey__   (2003-09-25 14:30:00) [11]

> MSSQL не имеет типа TDateTime.

извини DateTime

>100 - сто, в смысле, что 100 ?

100 я написал образно , вообще то я писал и так

qrList_UU_P.Filter:= "pol1 =" + FloatToStr(Curr_DateTime);

где Curr_DateTime типа TDateTime и на такое тоже пишет несоответствие типов.


Adony   (2003-09-25 14:26:00) [12]

Зато имеет datetime :)
А если поставить вместо 100 "20030925 16:24:00.000"????


ZrenBy   (2003-09-25 14:18:00) [13]

MSSQL не имеет типа TDateTime.

100 - сто, в смысле, что 100 ?


stone   (2003-09-25 14:16:00) [14]


> Пишет несоответствие типов


потому что


> поле pol1 типа TDateTime


Наверх

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