![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Неверно выводятся даты под Оракл
AlexXn © (2004-09-23 18:48:00)Плиз хелп. Использовали IB, теперь встала необходимость перевести БД под оракл. В IB поля были типа DATE. На клиенте все поля были типа TDate. После перевода под Оракл некоректно выводятся даты. Использовали МИДАС. Переделывать клиента просто нереально. Что делать????
AlexXn (2004-09-24 12:15:00) [1]Мля... На СЕРВЕРЕв качестве компонент доступа к БД используется ODAC!!!! Reindeer Moss Eater © Нихрена у тебя не выйдет. Reindeer Moss Eater © Получить с Оракла дату без компонента времени у тебя не получится. AlexXn ну это вы зря так... варианты в любом случае должны быть и они есть. Reindeer Moss Eater © Получить с Оракла датубез компонента времени у тебя не получится.
Надо рисовать свой ODBC драйвер.
Либо селектить
to_char(my_date,'dd.mm.yyyy')
но это не дата, а TSringField AlexXn Ну не надо так кричать, что это не реально. На клиенте можно "засунуть" в db.pas переменную(глобальную) и переделать реализацию TDateField(всего 2 метода). но и это мне кажется не самый оптимальный способ Reindeer Moss Eater © Я тебе не кричу о том, что ЭТО нереально.
Я тебе говорю, что :
Получить с Оракла датубез компонента времени у тебя не получится.
Reindeer Moss Eater (2004-09-24 12:13:00) [2]А про ODAC - это Папа Римский указал.
AlexXn (2004-09-24 12:11:00) [3]MIDAS!!! Я в посте указал сразу это!
Reindeer Moss Eater (2004-09-24 12:07:00) [4]Да. Юзаем ODAC
Все бы было так просто, если бы небыло клиентов которые работают с вариантами серверов под IB/MS SQL Server. Клиента трогать НИКАК НЕЛЬЗЯ
Что-то я не понимаю как это используя ODACи не меняя клиента вы работаете с ТРЕМЯ разыми серверами.
Reindeer Moss Eater (2004-09-24 12:03:00) [5]Зашибись.
Клиента значит менять нельзя.
А SQL Links или самого Оракла - это можно.
То же логика.
AlexXn (2004-09-24 11:57:00) [6]Еще раз. Клиента менять НЕЛЬЗЯ!!! Ну или по минимуму. Статические поля нужны и без них никак по многим причинам. Хотя бы те же DisplayLabel, Required и прочее выствавить. Конечно можно и в run-time, но это на проекте с 2-3 формами, а у нас ОЧЕНЬ большой проект
Reindeer Moss Eater (2004-09-24 11:50:00) [7]А зачем?
Не будет статических полей - не будет конфликта между типом данных поля и типом TField.
AlexXn (2004-09-24 11:44:00) [8]>roottim
>TDate = type TDateTime;
>TTime = type TDateTime;
да, но посмотри разницу в реализации кода TdateTimeField и TDateField и все станет ясно. Но как сделать, чтобы данные из оракла приходили как date, а не как tdatetime
AlexXn (2004-09-24 10:44:00) [9]>roottim
Не помогло...
AlexXn (2004-09-24 10:23:00) [10]>В плюсе все ок.
>Reindeer Moss Eater
Все бы было так просто, если бы небыло клиентов которые работают с вариантами серверов под IB/MS SQL Server. Клиента трогать НИКАК НЕЛЬЗЯ
Reindeer Moss Eater (2004-09-24 09:52:00) [11]На клиенте все поля были типа TDate.
пересоздай статические экземпляры полей или вообще убери их.
А что покажет плюс - и так ясно без слов.
Sergey13 (2004-09-24 09:45:00) [12]2[5] AlexXn (23.09.04 19:21)
>31.01.2004 получается 03.11.20297
А что в Плюсе, или еще в какой тулзе, кажет?
roottim (2004-09-24 08:22:00) [13]позвольте поинетерсоваться, каким образом вы перевелись на оракле??
Может где-то тут косяк...
TDate = type TDateTime;
TTime = type TDateTime;
можетupd... set DateField = Trunc(DateField)
Fay (2004-09-23 19:28:00) [14]Нет возможности проверить - DOA.
Удачи.
З.Ы.
М.б. вспомню - я такую хрень где-то ужк видел.
AlexXn (2004-09-23 19:21:00) [15]31.01.2004 получается 03.11.20297
Fay (2004-09-23 19:19:00) [16]А что должен?!
AlexXn (2004-09-23 19:14:00) [17]Нет, т.к. типы разные. Оракл возвращает типа TDateTime
Fay (2004-09-23 19:03:00) [18]DisplayFormat не помогает?
AlexXn (2004-09-23 18:50:00) [19]Да. Юзаем ODAC