Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.09.12;
Скачать: [xml.tar.bz2];

Вниз

Динамические запросы   Найти похожие ветки 

 
Desyatnik   (2010-06-16 12:57) [0]

Добрый день, господа программисты!
Проблема с датами с Субд 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;
Говорит "Несответствие типов в условии"
Как решить этоту проблему.


 
ixen ©   (2010-06-16 13:13) [1]


> date-30

это ты от Tdate отнимаешь целое число? тут нужно incday(daye,-30)


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

потому что дату надо передавать как параметр, а не строкой неизвестного формата
ADOQuery1.SQL.Add("Where Data_zakaza<:P1");
ADOQuery1.SQL.ParamByName("P1").AsDate:=date-30;


 
Ega23 ©   (2010-06-16 13:29) [3]


> ixen ©   (16.06.10 13:13) [1]
> это ты от Tdate отнимаешь целое число? тут нужно incday(daye, -30)


Иногда лучше жевать, чем говорить.

unit System

TDateTime = type Double;


 
12 ©   (2010-06-16 13:31) [4]


> это ты от Tdate отнимаешь целое число? тут нужно incday(daye,
> -30)

function IncDay(const AValue: TDateTime;
 const ANumberOfDays: Integer): TDateTime;
begin
 Result := AValue + ANumberOfDays;
end;

Автору
см.2

+
> с датами с Субд Access
вообще проблемы, имхо
У меня один и тот же код с параметрами работает в mssql и oracle - но не хочет в Access..
> ParamByName("P1").AsDate:=date-30;
писал, не понимает. Толи поле как не так определял, толь лыжи не ехали :)
а потом переделал все заново, вроде также все делал - но работает уже..
а т.к. чудес не бывает - значит, что-то по-другому все же сделал..


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

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


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

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


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


> Desyatnik   (16.06.10 13:40) [5]

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


 
ixen ©   (2010-06-16 13:51) [8]

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


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

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

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


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

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


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


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


SQL убери


 
Ega23 ©   (2010-06-16 14:02) [12]


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


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


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


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

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


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

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

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


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

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


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


> Desyatnik   (16.06.10 14:11) [15]

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

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


 
Anatoly Podgoretsky ©   (2010-06-16 14:26) [17]

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

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


 
ixen ©   (2010-06-16 14:32) [18]


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

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


 
Ega23 ©   (2010-06-16 14:48) [19]


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


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


 
Anatoly Podgoretsky ©   (2010-06-16 14:48) [20]


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

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


 
Anatoly Podgoretsky ©   (2010-06-16 14:50) [21]


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

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


 
Ega23 ©   (2010-06-16 15:01) [22]


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


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


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

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


 
Anatoly Podgoretsky ©   (2010-06-16 15:49) [24]

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

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



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

Форум: "Начинающим";
Текущий архив: 2010.09.12;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.005 c
2-1275988122
worldmen
2010-06-08 13:08
2010.09.12
Структура файлов караоке - kar. Или как извлеч текст


2-1276375219
AKE
2010-06-13 00:40
2010.09.12
Как получить координаты всех точек?


4-1239990492
KiLLiR
2009-04-17 21:48
2010.09.12
Печать изображения в ScrollBox


15-1276584640
Неокубинец
2010-06-15 10:50
2010.09.12
Автоматизированный загрузчик


2-1276668024
DROWSY
2010-06-16 10:00
2010.09.12
Access violation at address 00356273 in module designide60.bpl .





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский