Вниз
Скачать: CL | DM;

Свойство Filter   Найти похожие ветки 

← →
andrey__   (2003-09-25 14:13) [0]

есть таблица у которой поле 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("равно");
работает


← →
stone ©   (2003-09-25 14:16) [1]


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


потому что


> поле pol1 типа TDateTime


← →
ZrenBy ©   (2003-09-25 14:18) [2]

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

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


← →
Adony ©   (2003-09-25 14:26) [3]

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


← →
andrey__   (2003-09-25 14:30) [4]

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

извини DateTime

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

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

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

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


← →
Adony ©   (2003-09-25 14:33) [5]

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


← →
ZrenBy ©   (2003-09-25 14:33) [6]

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


← →
andrey__   (2003-09-25 15:01) [7]

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

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


← →
Adony ©   (2003-09-25 15:06) [8]

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


← →
Adony ©   (2003-09-25 15:06) [9]

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


← →
Stas ©   (2003-09-25 15:14) [10]

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


← →
andrey__   (2003-09-25 15:32) [11]

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


← →
Johnmen ©   (2003-09-25 15:40) [12]

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

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

>andrey__

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


← →
Stas ©   (2003-09-25 15:47) [13]

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


← →
andrey__   (2003-09-25 17:25) [14]

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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.014 c
1-51304
kosm
2003-10-06 11:13
2003.10.16
Класс как параметр и перегрузка конструктора


14-51515
pasha_golub
2003-09-26 16:54
2003.10.16
Аналог GetTickCount во FreePascal


1-51284
NewD
2003-10-06 11:14
2003.10.16
Не работает Web Server Application


1-51297
Seldon
2003-10-05 22:00
2003.10.16
TPropertyEditor


1-51178
Андрей Б.
2003-10-05 02:34
2003.10.16
Вопрос по Битмапам...




   Наверх