Реферат: Создание баз данных в InterBase SQL Server
DECLARE EXTERNAL
FUNCTION CREATEPATH(CSTRING(256), INTEGER)
RETURNS CSTRING(256)
ENTRY_POINT
"CreatePath"
MODULE_NAME
"UDF_INCL";
Мы указали имя
в БД, передаваемые переметры, возвращаемое значение, имя в DLL, и имя самой
DLL. Эта библиотека должна находится в каталоге UDF. У меня это D:\Program Files\Borland\InterBase\UDF. А использовать функцию будем так:
SET TERM !! ;
CREATE TRIGGER
INSERT_ACTIVITIES FOR ACTIVITIES
BEFORE INSERT
AS
DECLARE VARIABLE
PATH_TREE VARCHAR(256);
BEGIN
SELECT TREE_INFO
FROM ACTIVITIESWHERE
(NEW.ID_OWNER = ID_NUM)
INTO PATH_TREE;
NEW.TREE_INFO =
CREATEPATH(PATH_TREE, NEW.ID_NUM);
END!!
SET TERM ; !!
В InterBase все
UDF передают в параметрах ссылки, поэтому строку передают как указатель.
Используются VARCHAR строки, т.к. они явно не дополняются пробелами до
максимальной длины. Иначе, Вы бы уже ничего к ней не прибавили. Вот реализация
DLL в Delphi:
library UDF_INCL;
//
//
// Copyright 2000
Bannikov N.A. Stikriz Technology
//
//
uses
SysUtils,
Classes;
{$R *.RES}
function
CreatePath(MainPath: PChar; var IntVal: LongInt): PChar; cdecl; export;
begin
Result:=PChar(AnsiString(MainPath)+IntToStr(IntVal)+'\');
end;
exports
CreatePath;
begin
end.
Список литературы
Банников
Н.А. Создание баз данных в InterBase SQL Server.
Для
подготовки данной работы были использованы материалы с сайта http://delphid.dax.ru.
|