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

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

Динамические запросы


Страницы:   1 2

Desyatnik ©   (2010-06-16 12:57:00) 

Добрый день, господа программисты!
Проблема с датами с Субд Access
вот такой код
ADOQuery1.Active:=false;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('Insert into ArhivZAKAZ');
ADOQuery1.SQL.Add('SELECT *');
ADOQuery1.SQL.Add('From ZAKAZ');
ADOQuery1.SQL.Add('Where Data_zakaza<'''+dateTostr(date-30)+'''');
ADOQuery1.ExecSQL;
Говорит "Несответствие типов в условии"
Как решить этоту проблему.


Anatoly Podgoretsky   (2010-06-16 15:49:00) [1]

> Ega23  (16.06.2010 15:01:22)  [22]

Короче куда ни ткнись, вежде Ж, остается только правильно писать.


Desyatnik   (2010-06-16 15:31:00) [2]

Спасибо всем, я программно сделала, через циклы.
Самое интересное, что фильтр работает, а то же условие в запросе нет.
Пока, пока.


Ega23   (2010-06-16 15:01:00) [3]


> Ну так долго ждать не надо, достаточно несоответсвующую
> локализацию или кривые компоненты, которые меняют региональные
> настройки и приплыли.


Ну это ещё поправить можно. А вот релиз новый - уже нет. :)


Anatoly Podgoretsky   (2010-06-16 14:50:00) [4]


> Изменится у FB релиз - всё, привет.

Ну так долго ждать не надо, достаточно несоответсвующую локализацию или кривые компоненты, которые меняют региональные настройки и приплыли.


Anatoly Podgoretsky   (2010-06-16 14:48:00) [5]


> просто привел запрос который работает на ферберде

Вообще то он рабочий только в частных случаях.


Ega23   (2010-06-16 14:48:00) [6]


> я с акцессом не работал.. просто привел запрос который работает
> на ферберде... я же написал ПОПРОБУЙ и не утверждал что
> он правильный...


А не в СУБД дело. Тебе в принципе повезло, что оно работает. Изменится у FB релиз - всё, привет.


ixen   (2010-06-16 14:32:00) [7]


> Настоятельно рекомендую прочитать [2], выучить наизусть
> как телефон любимой девушки и никогда больше не давать начинающим
> идиотских и неправильных советов.

я с акцессом не работал.. просто привел запрос который работает на ферберде... я же написал ПОПРОБУЙ и не утверждал что он правильный...


Anatoly Podgoretsky   (2010-06-16 14:26:00) [8]

> Desyatnik  (16.06.2010 14:11:15)  [15]

Не важно как выглядит, важно как работает.


Ega23   (2010-06-16 14:13:00) [9]


> Desyatnik   (16.06.10 14:11) [15]

ADOQuery1.Parameters.ParamByName('P1').Value:=date-30;

Тебе даже текст привели. Ты его даже переписать нормально не можешь (про прочтении справки я уже молчу).
Может всё-таки сменить профессию, пока не поздно?


Desyatnik   (2010-06-16 14:11:00) [10]

ADOQuery1.SQL.Add('Where Data_zakaza<:P1');
ADOQuery1.Parameters.ParamByName('P1').Value:=date-30;
Это выглядит вот так  и все же не соответствие типов в выражении


Anatoly Podgoretsky   (2010-06-16 14:11:00) [11]

> Правильный$Вася  (16.06.2010 14:03:13)  [13]

Опять читаем, в школе не начитался.


Правильный$Вася   (2010-06-16 14:03:00) [12]


> Undeclared identifier: 'ParamByName' - выдает на эту строку

F1 на ParamByName - и читаем


Ega23   (2010-06-16 14:02:00) [13]


> ixen ©   (16.06.10 13:51) [8]
>
> попробуй так:
> ADOQuery1.SQL.Add('Where Data_zakaza< quotedstr(datetostr(date-
> 30)));


Настоятельно рекомендую прочитать [2], выучить наизусть как телефон любимой девушки и никогда больше не давать начинающим идиотских и неправильных советов.


Ega23   (2010-06-16 14:01:00) [14]


> Я да же не сомневаюсь, что это правильно, возможно я что-
> то не учитываю
> Undeclared identifier: 'ParamByName' - выдает на эту строку


SQL убери


Desyatnik   (2010-06-16 13:58:00) [15]

ADOQuery1.SQL.ParamByName('P1').AsDate:=date-30;
Я да же не сомневаюсь, что это правильно, возможно я что-то не учитываю
Undeclared identifier: 'ParamByName' - выдает на эту строку


ixen   (2010-06-16 13:53:00) [16]

ой... ошибка.. вот так:

> ADOQuery1.SQL.Add('Where Data_zakaza< '+quotedstr(datetostr(date-
> 30)));


ixen   (2010-06-16 13:51:00) [17]

попробуй так:
ADOQuery1.SQL.Add('Where Data_zakaza< quotedstr(datetostr(date-30)));


Плохиш   (2010-06-16 13:46:00) [18]


> Desyatnik   (16.06.10 13:40) [5]

Читать [2] как мантру вместо завтрака, обеда и ужина.


Desyatnik   (2010-06-16 13:41:00) [19]

такая же проблема в парадокс все работает, а акссе нет


Desyatnik   (2010-06-16 13:40:00) [20]

А какой синтаксис в строке
ADOQuery1.SQL.Add('Where Data_zakaza<'''+incday(date-30)+'''');


Страницы:   1 2

Наверх

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