![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Динамические запросы
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)+'''');