Moin Leute,
ich arbeite an einem Projekt und zwar habe ich eine DLL in Delphi geschrieben die ich in Firebird als UDF verwenden will. Hier der Quellcode meiner DLL:
library age;
uses
SysUtils,
DateUtils,
Classes;
function age(Gdatum: Tdatetime): shortint; stdcall;
var today: tdatetime;
begin
today := now;
Result := YearsBetween(Gdatum, today);
end;
exports
age;
begin
end.
Mit folgendem Code habe ich die UDF deklariert:
DECLARE EXTERNAL FUNCTION Age
DATE
RETURNS INTEGER BY VALUE
ENTRY_POINT 'age' MODULE_NAME 'age.dll';
Gdatum soll mit Werten aus der Tabelle T_1.GEBURTSDATUM gefüttert werden (DD:MM:YYYY).
Mein SQL Statement dazu lautet:
select age (Geburtsdatum) from t_1
Jedoch bekomme ich hier immer diese Fehlermeldung:
Error Message:
----------------------------------------
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
Error writing data to the connection.
Und erhalte eine Spalte namens AGE und die ist mit einem Datensatz gefüllt und zwar <null>
Wie erhalte ich als Ausgabe das Ergebnis meiner Funktion sprich das Alter.
P.S: Client für Firebrid ist IBexpert
MfG und vielen dank im vorraus
AnGeLo^
ich arbeite an einem Projekt und zwar habe ich eine DLL in Delphi geschrieben die ich in Firebird als UDF verwenden will. Hier der Quellcode meiner DLL:
library age;
uses
SysUtils,
DateUtils,
Classes;
function age(Gdatum: Tdatetime): shortint; stdcall;
var today: tdatetime;
begin
today := now;
Result := YearsBetween(Gdatum, today);
end;
exports
age;
begin
end.
Mit folgendem Code habe ich die UDF deklariert:
DECLARE EXTERNAL FUNCTION Age
DATE
RETURNS INTEGER BY VALUE
ENTRY_POINT 'age' MODULE_NAME 'age.dll';
Gdatum soll mit Werten aus der Tabelle T_1.GEBURTSDATUM gefüttert werden (DD:MM:YYYY).
Mein SQL Statement dazu lautet:
select age (Geburtsdatum) from t_1
Jedoch bekomme ich hier immer diese Fehlermeldung:
Error Message:
----------------------------------------
Unsuccessful execution caused by a system error that precludes
successful execution of subsequent statements.
Error writing data to the connection.
Und erhalte eine Spalte namens AGE und die ist mit einem Datensatz gefüllt und zwar <null>
Wie erhalte ich als Ausgabe das Ergebnis meiner Funktion sprich das Alter.
P.S: Client für Firebrid ist IBexpert
MfG und vielen dank im vorraus
AnGeLo^
Comment