Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
Delphi XE8 Enterprise
|
Probleme beim Aufruf einer StoredProcedure
22. Jan 2010, 16:02
Datenbank: Firebird • Version: 2.1 • Zugriff über: UniDAC
Hallo szuammen,
ich habe ein großes Problem. Ich habe folgende SP:
SQL-Code:
SET TERM ^ ;
CREATE procedure SP_NEW_CUSTOMER
returns (
NEW_STAMMID integer)
as
begin
NEW_STAMMID = gen_id(GEN_STAMMD_ID, 1);
insert into STAMMD (STATUSNR, FIRMA, NAME, VORNAME, KURZNAME, ANREDENR, BEMERKUNG, KENWORT, AKTIVE)
values (2, 1, '', '', '', 1, '', '', 1);
insert into KUNDEN (STAMMNR, version, PARENTNR)
values (:NEW_STAMMID, 0, :NEW_STAMMID);
insert into GRUNDDATEN
values (:NEW_STAMMID, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
null, null, null, null, null, null, null, null, null, null);
suspend;
end
^
SET TERM ; ^
Aufgerufen wird Sie so :
Delphi-Quellcode:
with DM_Main.UniQuery_Temp do
begin
SQL.Clear;
SQL.Text := ' SELECT * FROM SP_NEW_CUSTOMER';
Open;
NewStammID := FieldByName(' NEW_STAMMID').AsInteger;
StammNr := NewStammID;
Close;
DM_Main.UniTrans_MainTrans.Commit;
end;
Nach diesem Aufruf, werden noch zwei weitere Masken aufgerufen. Bei der ersten Maske werden Werte in der STAMMD hinzugefügt oder geändert mit Update-Befehlen. In der zweiten Maske werden ebenfalls Werte geändert oder hinzugefügt in der Tabelle Grunddaten. Jetzt zu meinen zwei Problemen.
1.) Die Update-Befehle für die Tabelle STAMMD werden nicht durchgeführt.
2.) In der Tabelle KUNDEN wird ein anderer AutoInc-Wert genommen als in der STAMMD.
Wo habe ich einen Fehler gemacht ?
|