![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Мастера! Помогите с запросом!!! [D6, dBase, FoxPro]
Солер © (2003-06-13 08:40:00)Уважаемые, Мастера!
Начинающий запарился.
Помогите составить запрос.
В базе, в таблице которой есть столбец записываются данные в
формате DATE т.е. 12.12.1999 ну и так далее.
Как мне составить запрос,чтобы данные отбирались
игнорируя число и месяц, только по году.
Да ещё необходимый год для отбора данных обязательно вводится
в Edit.Text.
Спасибо
Соловьев (2003-06-13 11:44:00) [1]
> за терпение и выдержку с нами начинающими.
я тоже начинающий, так что учусь вместе с Вами :)))
Солер (2003-06-13 11:41:00) [2]Спасибо. Особено господину Соловьёву за терпение и выдержку с нами начинающими.
Ещё раз спасибо всё заработало
Соловьев (2003-06-13 11:08:00) [3]
> ParamByName("P_Year").AsDateTime := StrToDate(Edit1.Text);
...
ParamByName("P_Year").AsInteger := StrToInt(Edit1.Text);
...
Солер (2003-06-13 10:51:00) [4]Теперь гад выдаёт
mismstch in expression
что - то про несоответствие типов :(
Соловьев (2003-06-13 10:25:00) [5]
> Ввожу в Edit 2000(чтобы отобрать записи по 2000 году) пишет
> 2000 не является датой.
конечно не является, тогда тебе надо StrToInt(Edit1.Text) и использовать первую конструкцию SQL.
Солер (2003-06-13 10:23:00) [6]=> Соловьёву
Попробовал. Не идёт
Ввожу в Edit 2000(чтобы отобрать записи по 2000 году) пишет 2000 не является датой.
=> HSolo
Для моей программы удобнее если в Edit вводится значение года - 1999, 2000 и т.д.
HSolo (2003-06-13 10:22:00) [7]опередил однофамилец :)) Ладно, еще 5 коп. Можно, конечно, и дату выбирать, но... зачем целая дата, если нужен только год? Может, проще вводить год чем-то вроде SpinEdit?
HSolo (2003-06-13 09:45:00) [8]Выборка по году:
select ... from ...
where extract(year from СтолбецСДатой) = НужныйГод
А какая разница, куда год вводится? Есть проблемы со вводом?
Соловьев (2003-06-13 09:39:00) [9]
> where EXTRACT(YEAR FROM fielddate)=:P_Year
...
where EXTRACT(YEAR FROM fielddate)=EXTRACT(YEAR FROM :P_Year)
...
наверное надо так :))
Соловьев (2003-06-13 09:35:00) [10]в 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;
...