![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Дата в IB SQL
tyomchick © (2003-08-26 17:09:00)
Interbase преобразует дату в строку в формате типа
"26-AUG-2003 ...".
Можно ли это как то поменять?
tyomchick (2003-08-27 18:49:00) [1]
>мне кажется, что tyomchick сетует на отображение TDateTimeField в контролах..
Нет.
есть база данных в которой есть таблица с полем типа DATATIME.
Есть репликатор, который упаковывает изменения в базе данных в файл и отсылает их на другую машину, где они поднимаются и пишуться в другую базу.
Проблема в том, что поле даты не поднимается, просто в это поле пишеться нулевое (минимально возможное зачение). при этом время из поля переводиться нормально.
Смотрю в файл созданный репликатором и вижу дату (правильную) в выше указанном формате (такой же формат она имеет и при преобразовании в FB).
Не уверен что проблема в этом. Возможно результат завичит от локализации винды. Дело в том что репликатор писали в чехии и как они это реализовали - хз.
Покупать исходники за 500$ не хочется.
roottim (2003-08-27 10:07:00) [2]
мне кажется, что tyomchick сетует на отображение TDateTimeField в контролах..
причина ( а вот вместо даты пишет 31.12.1899. Вот чёто надо сделать, а чё не знаю.) в другом... разбираться в чужих кодах думаю никто не будет.
для отображения в нуном формате используйте св-во TField
DisplayFormat := "DD.MM.YYYY"
возможно есть настройки формата даты в IB SQL или в соединении
Zacho (2003-08-27 09:54:00) [3]
> tyomchick © (27.08.03 09:12) [4]
А причем здесь преобразование даты в строку ?
Reindeer Moss Eater (2003-08-27 09:15:00) [4]
а вот вместо даты пишет 31.12.1899. Вот чёто надо сделать, а чё не знаю.
А чем эта дата не нравится? Канун нового года.
tyomchick (2003-08-27 09:12:00) [5]
Всё это к сожалению не подходит. Есть готовая программа - репликатор (без исходников). У неё есть один глюк, природу которого я пока не понял и предположил что дело в кривом формате данных. Дело в том, что этот репликатор не перетаскивает поля типа DATETIME, точнее время копируеться нормально а вот вместо даты пишет 31.12.1899. Вот чёто надо сделать, а чё не знаю.
Zacho (2003-08-27 07:56:00) [6]
Можно написать (или найти готовую) UDF, в к-рой преобразовывать дату в строку как угодно.
А если работаешь в диалекте 3 - то можно и на чистом SQL.
Vova (2003-08-26 23:14:00) [7]
Попробуй работать через переменную Delphi типа DateTime, типа Date1:=Query1["DATA_S"]; а звтем применяй все стандартные паскалевские функции.
Reindeer Moss Eater (2003-08-26 17:10:00) [8]
А ты зачем преобразуешь дату в строку?