Форум: "Базы";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
ВнизКак выбрать подходящую маску ? Найти похожие ветки
← →
VID (2004-01-14 01:45) [0]В одном датасете есть поле которое отображает дату и время в формате DD.MM.YYYY HH:MM
В ТБД поле имеет тип TIMESTAMP
При отображении всё ок, всё отображается корректно согласно указанному формату. но вот есть некоторые проблемы.
EditMask этого поля = "00.00.0000 00:00;1;_";
глобальные ShortDateFormat := "dd.mm.yyyy" и ShortTimeFormat := "hh:mm:ss";
так вот если в поле храниться значение 01.01.2004 04:45, то
при переводе поля в режим редактирования будет высвечена надпись
01.01.2004 4_:45 что конечно смущает.. однако если не обратить внимание на эту лажу и спокойно вводить нужную дату а потом и время то всё сохраняется нормально.
но хотелось бы что бы при отображении поля в режиме редактирования не было вышеуказанной проблемы.
как этого добиться ?
← →
VID (2004-01-14 01:49) [1]а 01.01.2004 00:00 вообще отображается как 01.01.2004 __:__
← →
Johnmen (2004-01-14 10:03) [2]Укажи 0 вместо _
← →
Desdechado (2004-01-14 10:35) [3]попробуй TDateTimePicker использовать
← →
Academic (2004-01-14 12:47) [4]Поменяй маску на 00.00.0000 90:00;1;_
← →
VID (2004-01-15 02:25) [5]To Johnmen: твой вариант с 00.00.0000 00:00;1;_ оказался наиболее близок к истине, теперь 0 не меняется на _, но вот остался такой глюк: когда значение поля = 10.01.0004 04:45
то в режиме редактирования отображается как 10.01.0004 40:45
В чём может быть дело ?
Для отображения поля использую TDBGridEh
← →
Flagman (2004-01-15 07:54) [6]А может в порезать TIMESTAMP на DATE и TIME? Я обычно дату и время в разных полях храню и таких проблем пока не встречал...
← →
VID (2004-01-15 10:34) [7]можно конечно и порезать, но неохота как то... да и вообще во многих местах программы идёт ссылка на поле TESTINGDT и придётся ещё тратить время на поиски этих ссылок (программа то немаленькая)
ПРЕДЛАГАЮ ЕЩЁ РАЗ ЗАДУМАТЬСЯ НАД ВОПРОСОМ...
← →
stone (2004-01-15 10:40) [8]
> Flagman (15.01.04 07:54) [6]
Зачем? Поле datetime хранит и то и другое.
> VID © (15.01.04 10:34) [7]
Тип TIMESTAMP - это временной штамп или верия строки. Его рекомендуют использовать, только если необходимо обеспечить уникальность значениу в пределах ВСЕЙ БАЗЫ ДАННЫХ, в стандартных случаях datetime.
← →
Johnmen (2004-01-15 10:46) [9]>VID ©
Почему 40 вместо 04 долго объяснять...
Просто задай едитмаск в виде
"00/00/0000 !00:00:00;1;0"
и не мучайся...:)
← →
Flagman (2004-01-15 10:58) [10]2 stone
Чтобы иметь возможность сравнивать значения Date отдельно от Time
и наоборот. Геморроя меньше... ;)
2 VID
Короче. В свойстве DisplayFormat твоего поля (в COLUMN"S EDITOR"е) указываешь dd.mm.yyyy hh:mm
И все. У меня все работает.
← →
Johnmen (2004-01-15 11:04) [11]>Flagman © (15.01.04 10:58)
О каком диалекте речь ?
Я так понял о 1. Тогда разделение на 2 поля не представляется целесообразным. А иногда и неудобным.
Поскольку всегда можно "работать" с тем, что надо, с "датой" или/и "временем".
← →
Flagman (2004-01-15 11:10) [12]2 Johnmen
Я так понял, что о 3, т.к. в 1 TIME и есть DateTime.
DATE как раз возник только в 3.
А насчет разделения и соединения, так это в принципе та же ...опа в других трусах ;) Плюсы и минусы есть и у того и у другого. Да и ветка собственно не о том... ;)
← →
Johnmen (2004-01-15 11:22) [13]>Flagman ©
1 - TIMESTAMP
3 - TIMESTAMP, DATE и TIME.
>Да и ветка собственно не о том...
Вот и я думаю, зачем ты завел этот разговор ?...:)
← →
VID (2004-01-15 14:14) [14]To Johnmen: спасибо, ты решил для меня этот ребус. Хотя конечно, этот маскэдит для меня всё равно остался магией какой-то
:)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.02.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.027 c