Вопрос № 60689: Как правильно совместить тип DATE в Delphi 6 и Oracle 9?
По SQL-запросу из программы на Delphi 6 тип DATE или не отрабатывается или отрабатывается неправильно.
Спасибо.
Пример неработающего кода ниже.
...
Вопрос № 60.689
Как правильно совместить тип DATE в Delphi 6 и Oracle 9?
По SQL-запросу из программы на Delphi 6 тип DATE или не отрабатывается или отрабатывается неправильно.
Спасибо.
Пример неработающего кода ниже.
Приложение:
Отправлен: 30.10.2006, 15:23
Вопрос задал: Richi12 (статус: Посетитель)
Всего ответов: 2 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Gh0stik
Здравствуйте, Richi12!
Да есть такая проблема....
И решение ее не менее оригинально...
Во-первых переменную типа DATE нужно заключить в знаки # (диез) и соответственно Ваш запрос примет вид: SQL.Add('DELETE FROM Chronicles WHERE DT<#12/12/2006#');
Во-вторых есть еще один нюанс, в SQL формат даты выглядит как mm/dd/yyyy - следовательно в запросе рекомендуется использовать именно такой формат (месяц/день/год).
Удачи!!!
--------- Господь Бог - это всего лишь сверхмощный генератор случайных чисел, в соответствии с которыми сочетаются события на Земле. Генератор случайных чисел - и только.
Ответ отправил: Gh0stik (статус: Практикант)
Ответ отправлен: 30.10.2006, 15:31
Отвечает: PaVeL_Ekt
Здравствуйте, Richi12!
Попробуй заменить параметр допустим на ('DAT')
мне кажется, что в этом баг !!!
если не поможет попробуй следующий код
Var DTE: TDateTime;
...
DTE:=Date-3;
ShowMessage(datetostr(DTE)); // для проверки правильности подсчета времени
SQL.Add('delete from Cronicles where DT<To_Date('':DaT'')');
ParamByName('DaT').AsString:=datetostr(DTE);
но в принципе должно работать, по-крайней мере у меня работает с 8 Ораклом
--------- Да поможет Вам F1, да сохранит Вас F2, во имя CTRL, ALT и святого DEL
Ответ отправил: PaVeL_Ekt (статус: 5-ый класс)
Ответ отправлен: 30.10.2006, 15:42