![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Тип Date в триггерах [D7, FB 1.5]
Ярослав © (2005-08-18 11:10:00)Подскажите у меня есть поле типа Date, при запросах в Gride и других контролах отоброжаеться нормально а в триггере я собираю строку куда добавляю значение этого поля:
NEW.STR = NEW.STR || NEW.DATE - к примеру
так вот значение даты в строке оказываеться в таком виде - 2005-08-28
А мне надо 28.08.2005, как это сделать?
}{ander (2005-08-20 12:27:00) [1]NEW.STR = NEW.STR || extract(date from NEW.DATE) || '.' || extract(month from NEW.DATE) || '.' || extract(year from NEW.DATE)
Digitman (2005-08-19 14:43:00) [2]посмотри на ibase.ru любую подходящую на эту тему ф-цию
Ярослав (2005-08-19 08:58:00) [3]А в каком модуле описан тип - IBDateTime, что то я не нашел
И IBDateTimeToDelphiDateTime(ibdt); - где взять
Digitman (2005-08-18 13:28:00) [4]
> Ярослав (18.08.05 13:12) [4]
тогда реализуй и подключи UDF, которая будет форматировать зн-е даты так как тебе нужно
function FormatIBDataTime(fmt: PChar; var ibdt: IBDateTime): PChar; cdecl; //free_it
var
dt: TDateTime;
tmp: String;
begin
dt := IBDateTimeToDelphiDateTime(ibdt); //преобразовать IB-дату/время в Делфи-дату/время, подобные ф-ции имеются в любом клиентском IB API
tmp := FormatDateTime(fmt, dt);
Result := ib_util_malloc(Result, Length(tmp) + 1);
Move(PChar(tmp)^, Result^, Length(tmp) + 1);
end;
..
DECLARE EXTERNAL FUNCTION FormatIBDataTime
FMT CSTRING(255),
DT DATE
RETURNS CSTRING(255) FREE_IT
ENTRY_POINT 'FormatIBDataTime' MODULE_NAME 'myudf.dll'..
..
NEW.STR = NEW.STR || FormatIBDataTime("dd.mm.yyyy", NEW.DATE);
Desdechado (2005-08-18 13:22:00) [5]НА СЕРВЕРЕ
Ярослав (2005-08-18 13:12:00) [6]>> Desdechado © (18.08.05 13:07) [3]
У меня там все правильно установлено, значит не в этом дело
Desdechado (2005-08-18 13:07:00) [7]в региональных настройках ОС
Ярослав (2005-08-18 12:50:00) [8]>> Digitman © (18.08.05 12:47) [1]
И как это сделать?
Digitman (2005-08-18 12:47:00) [9]
> как это сделать?
на машине, где работает серверная часть FB, в рег.настройках установить требуемый строковый формат даты, в дан.случае - MM.DD.YYYY