Доброго времени суток
Вопрос такой: из под Delphi пытаюсь выполныить запрос к базе Oracle такого вида "update table set a='01.01.2000'". Возникает ошибка несоответствия типов данных.. Доступ через DOA. Как его можно заставить использовать стандартный формат даты?
_>Вопрос такой: из под Delphi пытаюсь выполныить запрос к базе Oracle такого вида "update table set a='01.01.2000'". Возникает ошибка несоответствия типов данных.. Доступ через DOA. Как его можно заставить использовать стандартный формат даты?
1. Старйтесь всегда использовать параметризованные запросы. В частности это полностью снимает проблему различного представления литералов даты/времени в разных СУБД.
2. см. описание функции to_date в SQL Reference
Re[2]: Не срабатывает тип DATE в запросах к Oracle
Здравствуйте, Igor Trofimov, Вы писали:
_>>Вопрос такой: из под Delphi пытаюсь выполныить запрос к базе Oracle такого вида "update table set a='01.01.2000'". Возникает ошибка несоответствия типов данных.. Доступ через DOA. Как его можно заставить использовать стандартный формат даты?
iT>1. Старйтесь всегда использовать параметризованные запросы. В частности это полностью снимает проблему различного представления литералов даты/времени в разных СУБД.
К сожалению запрос "update table set date=:date" с последующим SetVariable('Date'):=datepicker.Date; привел к такому же результату
iT>2. см. описание функции to_date в SQL Reference
Спасибо, поищу
... << RSDN@Home 1.1.4 beta 7 rev. 458>>
Re[3]: Не срабатывает тип DATE в запросах к Oracle
Здравствуйте, feanor_ka, Вы писали:
_>К сожалению запрос "update table set date=:date" с последующим SetVariable('Date'):=datepicker.Date; привел к такому же результату
Какой еще SetVariable? Сделай Prepare и посмотри в Parameters. Кстати, ты запрос через какой класс выполняешь? TQuery?
... << RSDN@Home 1.1.4 beta 5 rev. 395>>
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Здравствуйте, feanor_ka, Вы писали:
_>Доброго времени суток _>Вопрос такой: из под Delphi пытаюсь выполныить запрос к базе Oracle такого вида "update table set a='01.01.2000'". Возникает ошибка несоответствия типов данных.. Доступ через DOA. Как его можно заставить использовать стандартный формат даты?
а если так "update table set a= TO_DATE('01012000','DDMMYYYY')"
удачи
Re[4]: Не срабатывает тип DATE в запросах к Oracle
Здравствуйте, Sinclair, Вы писали:
S>Здравствуйте, feanor_ka, Вы писали:
_>>К сожалению запрос "update table set date=:date" с последующим SetVariable('Date'):=datepicker.Date; привел к такому же результату S>Какой еще SetVariable? Сделай Prepare и посмотри в Parameters. Кстати, ты запрос через какой класс выполняешь? TQuery?
Запрос через TOracleDataSet. Там prepare нету
В общем проблема оказалась в названии он на название столбца "DATE" ругался, переименовал и все заработало.
... << RSDN@Home 1.1.4 beta 7 rev. 458>>
Re[2]: Не срабатывает тип DATE в запросах к Oracle
Здравствуйте, EXELENS, Вы писали:
EXE>Здравствуйте, feanor_ka, Вы писали:
_>>Доброго времени суток _>>Вопрос такой: из под Delphi пытаюсь выполныить запрос к базе Oracle такого вида "update table set a='01.01.2000'". Возникает ошибка несоответствия типов данных.. Доступ через DOA. Как его можно заставить использовать стандартный формат даты?
EXE>а если так "update table set a= TO_DATE('01012000','DDMMYYYY')" EXE>удачи
Ага, спасиб, так работает, только лучше наверно 'DD.MM.YYYY', для читаемости и поле чтобы "DATE" не называлось