Вниз
Скачать: CL | DM;

Хочется чтобы IBserver фиксировал дату и время создания записи.   Найти похожие ветки 

 
kolos_rus ©   (2005-09-16 11:58) [0]

Пишу на DELPHI 7 библиотеку:

library Ib;

uses
 SysUtils,
 Classes;

const
 MSecsPerDay10 = MSecsPerDay * 10;   IBDateDelta = 15018; type
PIBDateTime = ^TIBDateTime;
TIBDateTime = record
   Days, // Date: Days since 17 November 1858
   MSec10: Integer; // Time: Millisecond * 10 since midnigth
end;

{$R *.res}
function ServerDate(var ServerIBDateTime: TIBDateTime): PIBDateTime; cdecl; export;
var
 DateTime: TDateTime;
 DelphiDays: Integer;
begin
 DateTime := Now;
 DelphiDays := Trunc(DateTime);
 with ServerIBDateTime do
   begin
     Days := DelphiDays + IBDateDelta;
     MSec10 := Trunc((DateTime - DelphiDays) * MSecsPerDay10);
   end;
 Result := @ServerIBDateTime;
end;

exports
 ServerDate;
begin
end.

Подключаю к базе UDF

DECLARE EXTERNAL FUNCTION DATETIME
   TIMESTAMP
RETURNS TIMESTAMP FREE_IT
ENTRY_POINT "ServerDate" MODULE_NAME "ib.dll"

Создаю тригер

SET SQL DIALECT 3;
SET NAMES WIN1251;
SET TERM ^ ;
CREATE TRIGGER DVIG_BI0 FOR DVIG
ACTIVE BEFORE INSERT POSITION 0
AS
begin
 /* Trigger text */
 new.data_vvoda = datetime("01.01.1900 10:10");
end
^
SET TERM ; ^

Дату заносит, а вот время нет.


 
Sergey13 ©   (2005-09-16 12:11) [1]

А как ты в тригер "01.01.1900 10:10" передашь?

new.data_vvoda = current_timestamp;
Вроде работает.


 
kolos_rus ©   (2005-09-16 12:18) [2]

Спасибо! Работает!!! Я не знал, что есть встроенная функция.



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.025 c
2-1128753842
erika
2005-10-08 10:44
2005.10.30
триггер


1-1128669787
Woolen
2005-10-07 11:23
2005.10.30
Access violation в TComboBox


14-1128699533
GrayFace
2005-10-07 19:38
2005.10.30
Аберон - что за зверь?


10-1106212117
bmax
2005-01-20 12:08
2005.10.30
TWebBrowser в качестве Com-клиента


2-1128666945
Wolferio
2005-10-07 10:35
2005.10.30
Печать на матричные принтера




   Наверх