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

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

вывод операций за месяц [D7, MSSQL]


Jeeb ©   (2007-03-20 14:47:00) 

Здравствуйте... Давно мучаюсь... Поможете?
Вопрос вот в чем: Есть таблица с полем (char) RC.Дата
Необходимо вывести все операции за определенный месяц...
Символ апострофа записан в А, а месяц записан в S. Год в Eyear (TEdit)

Пишу такой запрос:
'SELECT *'
'FROM RC'
'WHERE RC.Дата Like '+A+'*.'+S+'.'+EYear.Text+A

Не проходит... Помогите... Как еще можно все это осуществить?


Desdechado   (2007-03-25 15:39:00) [1]

> FilterString:='RC.Дата='+EDate.Text;
Эту гадость замени на использование параметра.


Jeeb   (2007-03-24 23:24:00) [2]

В общем делаю так:
FDM.QRD - запрос ADOQuery
EDate.Text - Tedit, откуда берем дату в формате DD.MM.YYYY


FilterString:='RC.Дата='+EDate.Text;
FDM.QRD.Close;
 with FDM.QRD do
   begin
     with SQL do
       begin
         Clear;
         Add('SELECT RC.Дата, RC.Идентификатор, RC.БУ, RC.Приход, RC.Расход, RC.Цена, RC.Стоимость');
         Add('FROM RC');
         Add('WHERE '+FilterString);
         Add('ORDER BY RC.Дата, RC.Идентификатор');
       end;
     Open;
   end;


Не разберусь, что не так....


Anatoly Podgoretsky   (2007-03-24 17:45:00) [3]

> Jeeb  (24.03.2007 16:13:10)  [10]

В запросе не наблюдается DD.MM.YYYY


Jeeb   (2007-03-24 16:13:00) [4]

дату переделал в формат datetime.

Теперь не хочет воспринимать DD.MM.YYYY. Ботвень какая-то: типа incorrect syntax near '.2007'....

Кто-нибудь сталкиватся?


Jan   (2007-03-21 09:04:00) [5]


> ну так вместо data имя нужного поля, по прваилам скл сервера!
> !!

причем тут это? у него дата как строка хранится причем в формате не понятном скл!


stud   (2007-03-20 19:36:00) [6]

ну так вместо data имя нужного поля, по прваилам скл сервера!!!


Jan   (2007-03-20 18:51:00) [7]

что-то типа такого:

Server: Msg 242, Level 16, State 3, Line 1
The conversion of a char data type to a datetime data type resulted in an out-of-range datetime value.


Jan   (2007-03-20 18:48:00) [8]


> datepart(year,rc.data)

тут бяка


stud   (2007-03-20 17:52:00) [9]

если eyaer.text содержит число и s число никаких бяк не будет


Jan   (2007-03-20 17:34:00) [10]


> where datepart(year,rc.data)='+eyaer.text+
> ' and datepart(month,rc.data)='+s

учти что на сервере не русские настройки и получишь бяку...


stud   (2007-03-20 17:05:00) [11]

Jeeb   (20.03.07 14:47)
Символ апострофа записан в А,

а это зачем?
не проще ли будет
where datepart(year,rc.data)='+eyaer.text+
' and datepart(month,rc.data)='+s


Sergey13   (2007-03-20 14:56:00) [12]

> Есть таблица с полем (char) RC.Дата

Ну да. Сначала создаем трудности потом мужественно их преодолеваем.


Jan   (2007-03-20 14:50:00) [13]

вместо * используй %
ЗЫ дата в char - гемор на всю жизнь.


Наверх

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