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

Вниз

Проблема с отображением даты   Найти похожие ветки 

 
shnurok   (2003-12-17 16:11) [0]

Уважаемые мастера, помогите!
Возникла такая проблема - есть таблицы Paradox, а там поле Date.
Даты есть как прошлого века(до 2000) так и этого.
Так вот, в приложении пытаюсь сделать отображение года в четыре цифры(способы использовала : задание для поля DisplayFormat dd.mm.yyyy, меняла региональные настройки на дд.мм.гггг) - тогда даты прошлого века превращаются в "будущие", типа 2098.
Пробовала настроить сам BDE - картина такая: в приложении даты все равно остаются в формате дд.мм.гг - т.е. местные региональные, а если открыть таблицу в database Desktop - там нормально выглядит все, что до 2000г., все что позднее - опять только две цифры в году.
Посоветуте, что тут можно сделать? Или придется насильно переписать все даты в правильном формате?
главное, что из-за этой ерунды, неверно производится сортировка.
Ведь в самой таблице дата хранится верная, например, DataBase WorkShop все показывает правильно.


 
Anatoly Podgoretsky   (2003-12-17 16:17) [1]

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


 
Johnmen   (2003-12-17 16:23) [2]

Не могёт такого быть...:)
Как видно, что "превращаются" ?


 
Vint   (2003-12-17 16:32) [3]

а не пробовал поменять FOURDIGITYEAR на true?


 
Shnurok   (2003-12-17 16:33) [4]

Вот-вот... нутром чую, что хранятся то они в нужном формате, но как мне заставить в DBGride отображать год в 4-ре цифры? Никак не получается. Либо 2(тогда есть такие записи 12.12.98 и 12.12.03), либо 4-ре, но все "старые" даты становятся например 12.12.2098. -(


 
Shnurok   (2003-12-17 16:34) [5]

FOURDIGITYEAR уже давно выставлено в true, в самом приложении при этом все равно 2 цифры в году


 
Johnmen   (2003-12-17 16:36) [6]

DisplayFormat dd.mm.yyyy достаточно, чтобы показывалось нормально.


 
Shnurok   (2003-12-17 16:39) [7]

DisplayFormat dd.mm.yyyy дает дату из 12.12.98 в 12.12.2098 -(


 
Vint   (2003-12-17 16:43) [8]

>Shnurok (17.12.03 16:33) [4]
либо 4-ре, но все "старые" даты становятся например 12.12.2098. -(

попробуй
TwoDigitYearCenturyWindow := скажем 90;


 
Johnmen   (2003-12-17 16:43) [9]

Значит в этой записи в этом поле прописана дата 12.12.2098
Видимо, когда заполняли, били 2 знака...


 
Hawk2   (2003-12-17 16:44) [10]

Только что пробовал, таблица Paradox 7.0 правда у меня D5.
Во-первых при заполнении поля типа Date, даже при введении значения типа 10.08.98 после перехода на другую запись (или поле) автоматом дописывается 19, тоесть получается 10.08.1998, а из этого следует что Парадокс хранит дату в формате "dd.mm.yyyy". При этом что интересно, если ввести к примеру 15.08.52, то записывается 15.08.2052, а если 15.08.53, то дописывается 20 - тоесть 15.08.2052.
Во-вторых в Гриде все нормально отображается.


 
Johnmen   (2003-12-17 16:46) [11]

>Hawk2 © (17.12.03 16:44)
>При этом что интересно...

Ничего интересного. Идешь в региональные настройки, Даты. Там ответ.


 
Hawk2   (2003-12-17 16:46) [12]

Малость ошибся после 53 записывается 19, например 15.08.53, то получается 15.08.1953, а до этого 20 - 15.08.2052.


 
Shnurok   (2003-12-17 16:48) [13]

Проблема действительно наверное в том, что когда вводили указывали два знака. Но все равно какая-то мистика получается - смотрю таблице в стороннем менеджере баз данных(в том же DataBase WorkShop) ВСЕ даты выглядят нормально.


 
Hawk2   (2003-12-17 16:49) [14]

>Johnmen © (17.12.03 16:46) [11]
А нет там ничего!


 
Johnmen   (2003-12-17 16:55) [15]

>Hawk2 © (17.12.03 16:49)

Есть. "При вводе двух цифр года воспринимать их как год между."


 
Hawk2   (2003-12-17 17:00) [16]

>Johnmen © (17.12.03 16:55) [15]
Эта опция не активна, а поля пустые!
Да впрочем это как говорится: "На скорость не влияет", у авторки вопроса всеравно ничего не выходит.


 
Shnurok   (2003-12-17 17:01) [17]

Ага, и вот у меня эти самые региональные настройки воспринимают год введенный сейчас как 12.12.45 как 2045, хотя границы годов стоят с 1930 по 2029 ????
Придется все-таки переписывать значения в базе.


 
mfender   (2003-12-17 20:24) [18]


> Anatoly Podgoretsky © (17.12.03 16:17) [1]
> Переписать, но что то меня смущает, неужели Парадокс может
> хранить даты с двумя цифрами в годе, не верю.


Я видел такие таблицы (а может подобные). Там дата в виде string написана. И ее надо парсить.



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

Форум: "Базы";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.009 c
14-49736
otido
2003-12-24 00:39
2004.01.16
Нужна помощь... задача на комбинаторику...


1-49621
Shutov
2004-01-05 08:05
2004.01.16
Библиотека qtintf70.dll


3-49459
AVP_opck
2003-12-18 06:50
2004.01.16
как проверить существование таблицы


1-49638
Brut
2004-01-04 14:54
2004.01.16
Как использовать типы и классы в различных модулях.


14-49758
Style
2003-12-23 21:53
2004.01.16
Господа мастера! А вы можете провести экзамен у желающих





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский