Форум: "Базы";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
ВнизХочется чтобы 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 вся ветка
Форум: "Базы";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.039 c