Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.07;
Скачать: CL | DM;

Вниз

Мастера! Помогите с запросом!!!   Найти похожие ветки 

 
Солер ©   (2003-06-13 08:40) [0]

Уважаемые, Мастера!
Начинающий запарился.

Помогите составить запрос.

В базе, в таблице которой есть столбец записываются данные в
формате DATE т.е. 12.12.1999 ну и так далее.
Как мне составить запрос,чтобы данные отбирались
игнорируя число и месяц, только по году.
Да ещё необходимый год для отбора данных обязательно вводится
в Edit.Text.

Спасибо


 
Соловьев ©   (2003-06-13 09:35) [1]

в Query.SQL пишем:
select *
from table1
where EXTRACT(YEAR FROM fielddate)=:P_Year

В проге пишем:
...
with Query do
begin
if Active then Close;
ParamByName("P_Year").AsDateTime := StrToDate(Edit1.Text);
//вместо Edit1.Text лучше использовать DateTimePicker
if Prepared then Prepare;
Open;
end;
...



 
Соловьев ©   (2003-06-13 09:39) [2]


> where EXTRACT(YEAR FROM fielddate)=:P_Year

...
where EXTRACT(YEAR FROM fielddate)=EXTRACT(YEAR FROM :P_Year)
...

наверное надо так :))


 
HSolo ©   (2003-06-13 09:45) [3]

Выборка по году:
select ... from ...
where extract(year from СтолбецСДатой) = НужныйГод
А какая разница, куда год вводится? Есть проблемы со вводом?


 
HSolo ©   (2003-06-13 10:22) [4]

опередил однофамилец :)) Ладно, еще 5 коп. Можно, конечно, и дату выбирать, но... зачем целая дата, если нужен только год? Может, проще вводить год чем-то вроде SpinEdit?


 
Солер ©   (2003-06-13 10:23) [5]

=> Соловьёву
Попробовал. Не идёт
Ввожу в Edit 2000(чтобы отобрать записи по 2000 году) пишет 2000 не является датой.

=> HSolo
Для моей программы удобнее если в Edit вводится значение года - 1999, 2000 и т.д.


 
Соловьев ©   (2003-06-13 10:25) [6]


> Ввожу в Edit 2000(чтобы отобрать записи по 2000 году) пишет
> 2000 не является датой.

конечно не является, тогда тебе надо StrToInt(Edit1.Text) и использовать первую конструкцию SQL.


 
Солер ©   (2003-06-13 10:51) [7]

Теперь гад выдаёт
mismstch in expression
что - то про несоответствие типов :(


 
Соловьев ©   (2003-06-13 11:08) [8]


> ParamByName("P_Year").AsDateTime := StrToDate(Edit1.Text);

...
ParamByName("P_Year").AsInteger := StrToInt(Edit1.Text);
...





 
Солер ©   (2003-06-13 11:41) [9]

Спасибо. Особено господину Соловьёву за терпение и выдержку с нами начинающими.
Ещё раз спасибо всё заработало


 
Соловьев ©   (2003-06-13 11:44) [10]


> за терпение и выдержку с нами начинающими.

я тоже начинающий, так что учусь вместе с Вами :)))



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

Текущий архив: 2003.07.07;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
1-20059
KILLER_ABV
2003-06-25 16:18
2003.07.07
Как в RUN-TIME создать копию компонента


11-20026
lamachok
2002-10-29 19:56
2003.07.07
формы


4-20360
sosv
2003-05-04 16:02
2003.07.07
hook wh_mouse


7-20330
Dark_arhangel
2003-04-20 04:09
2003.07.07
Как работать с портами и какой вольтаж навыходе.


6-20187
Anet
2003-04-28 09:28
2003.07.07
Какую библиотеку-функцию исп-ет Oulook Express для отправки почты