Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi [FB] - Stored Procedure mit Rückgabewert (https://www.delphipraxis.net/105380-%5Bfb%5D-stored-procedure-mit-rueckgabewert.html)

Thanatos81 20. Dez 2007 21:50

Datenbank: Firebird • Version: 2.0.3 • Zugriff über: ZEOS

[FB] - Stored Procedure mit Rückgabewert
 
N'Abend!

Ich bekomme von einer Stored Procedure nicht den erwarteten Rückgabewert.

Das mache ich in Delphi:

Delphi-Quellcode:
FStoredProc.StoredProcName := 'I_LKW';

FStoredProc.ParamByName('PKennzeichen').AsString := FKennzeichen;
FStoredProc.ParamByName('PVermerke').AsString := FVermerke;
FStoredProc.ParamByName('PZuladung').asFloat:= FZuladung;
FStoredProc.Open;

FLfdNr := FStoredProc.ParamByName('PLfdNr').AsInteger;
Und so sieht die SP aus:
SQL-Code:
CREATE PROCEDURE I_LKW(
  PKENNZEICHEN VARCHAR(15) CHARACTER SET ISO8859_1 DEFAULT NULL,
  PZULADUNG FLOAT DEFAULT NULL,
  PVERMERKE BLOB SUB_TYPE 1 CHARACTER SET ISO8859_1 DEFAULT NULL)
RETURNS(
  PLFDNR INTEGER)
AS
BEGIN
  PLFDNR = GEN_ID(T_LKW_LFDNR_GEN, 1);
  INSERT INTO T_LKW (LfdNr, Kennzeichen, Zuladung, Vermerke)
    VALUES (:PLfdNr, :PKennzeichen, :PZuladung, :PVermerke);
END;
Die Daten werden korrekt in die Tabelle geschrieben, inklusive der LfdNr. Irgendjemand ne Ahnung wo es hakt?

mkinzler 20. Dez 2007 21:58

Re: [FB] - Stored Procedure mit Rückgabewert
 
Ist PLfdNr als OUT-Parameter deklariert?
Versuch es mal mit Select.

Thanatos81 20. Dez 2007 22:01

Re: [FB] - Stored Procedure mit Rückgabewert
 
Jupp PLfdNr ist als out deklariert, siehe SQL-Quelltext: RETURNS(PLFDNR INTEGER).

Mit dem Select wäre mir leider nicht geholfen, da die Endanwender keinen direkten Zugriff auf die Tabelle haben werden, nur über SPs.

mkinzler 20. Dez 2007 22:03

Re: [FB] - Stored Procedure mit Rückgabewert
 
Zitat:

Jupp PLfdNr ist als out deklariert, siehe SQL-Quelltext: RETURNS(PLFDNR INTEGER).
Ich meinte den parameter in Delphi.
Zitat:

Mit dem Select wäre mir leider nicht geholfen, da die Endanwender keinen direkten Zugriff auf die Tabelle haben werden, nur über SPs.
Ich meinte einen Select auf die SP.

Thanatos81 20. Dez 2007 22:10

Re: [FB] - Stored Procedure mit Rückgabewert
 
Habs gerade gefunden... Statt FStoredProc.Open muss ich einfach nur FStoredProc.ExecProc nehmen...

Danke für deine Mühen und Sorry für die späte Störung durch Brett vorm Kopf...


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz