Einzelnen Beitrag anzeigen

Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#1

Cursor nicht aus Abfrage zurückgekehrt

  Alt 20. Okt 2012, 10:31
Datenbank: FB • Version: 2.5 • Zugriff über: DBX
Ich spiele gerade mit der XE3 Trial und DBX.

Mit IBExpert habe ich eine Stored Proc erstellt:
Code:
CREATE OR ALTER procedure GET_PERSONS_FOR_CONTRACT (
    CONTRACT_ID integer)
returns (
    PERSON_ID integer,
    FIRSTNAME varchar(20),
    LASTNAME varchar(20),
    IN_CONTRACT smallint)
as
declare variable C integer;
begin
  for select p.ID, p.FIRSTNAME, p.LASTNAME
      from PERSONS p
      where p.ACTIVATE = 1
      order by p.ID
      into :PERSON_ID, :FIRSTNAME, :LASTNAME
  do
    for select count(*)
        from FLYS f
        where (f.CONTRACT_ID = :CONTRACT_ID) and
              (f.PERSON_ID = :PERSON_ID)
        into :C
    do
    begin
      if (C > 0) then
        IN_CONTRACT = 1;
      else
        IN_CONTRACT = 0;
      suspend;
    end
end
Im IBExpert lässt sie sich ausführen und liefert die korrekten Ergebnisse.

Zitat:
PERSON_ID FIRSTNAME LASTNAME IN_CONTRACT
1 André Stahl 1
2 Bernd Stahl 0
3 Ina Voigt 0
4 Paul Brenner 0
5 Denise Hirtz 0
6 Ronald Hirtz 0
(Contract_ID = 1)

In einem DataModul habe ich einer SQLStoredProc die Proc zugewiesen.
Beim Setzen von Active erhalte ich den Fehler:

"SQLStoredProcXyz: Cursor nicht aus Abfrage zurückgekehrt"

Unter Params habe ich wieder Contract_ID = 1 zugewiesen.
Kann jemand helfen?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat