Даты из delphi в oracle

afreet
Дата: 04.08.2005 14:48:51
Есть такая проблема.
На клиентских машинах - самописный софт, работающий через DOA с oracle9i.
Вроде бы все зашибись, но иногда происходит странный глюк:
при передачи из программы текстового поля, данные записываются в таблицу очень криво. При чем формат этих данных сложно объяснить..
Например, в клиенте указали 03.08.2005, а в таблице оказалось 03.08.0205..
Или бывает просто исковеркает и запишет DD.MM.0200, где DD.MM. совершенно не похожи на исходные данные..
NLS все прописаны верно, есть мнение, что дело в настройках системы на клиенте, но все равно не понятно что от чего зависит..

Клиенты на winnt, doa3.4.3

Есть у кого идеи?

P.S. Поискал поиском, предложенные в похожих темах решения не исправили проблему..
hell
Дата: 04.08.2005 14:52:56
т.е. вы делаете insert into ... (..., xdate, ...) values ( ... , to_date(:mydate, 'DD.MM.YYYY'), ...)

и неправильно вставляется?

"The CBO without stats is like a morning without coffee." T.Kyte
Кроик Семён
Дата: 04.08.2005 14:59:22
У меня была похожая проблема когда я баловался с масками ввода, правда времени, а не даты.
Вопрос даже задавал:Маска ввода времени глючит: Field.EditMask='!90:00;1;_'
Stepan_mk
Дата: 04.08.2005 15:08:56
Бистрее всего проблема в том как ти из делфи передаёш
если я передаю как строку (хоитя стараю передавать как дату) то пишу вот так
shortDateFormat:='DD.MM.YYYY' 
Parambyname('myparam').asstring:=datetostr(mydate);
Wolfon Stromboy
Дата: 04.08.2005 15:20:26
Если в Delphi параметр описан, как дата, то никаких проблем быть не должно. И на всякие NLS можно наплевать!
Скорее всего передается именно строка.
Никогда не надо работать с датами, как со стороками, а если уж надо со строкой работать, то явно делать преобразование
To_Date('2005-08-04','yyyy-mm-dd')