Einzelnen Beitrag anzeigen

Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.379 Beiträge
 
Delphi 10.3 Rio
 
#5
  Alt 7. Apr 2003, 09:08
Hi mschaefer,

Wenn Du ID's für den Primary Key über einen Trigger in die Tabelle einträgst, hast Du immer das Problem, an diese Info ranzukommen. Dir bleibt nur der Weg für den eben eingetragenen Datensatz eine eindeutige Abfrage hinzubekommen, damit du die ID zurück bekommst. Dazu gibt es 2 Alternativen:

1. Verwende (falls Du die IBX verwendest) die Komponente TIBDataSet und dort die Eigenschaft "GeneratorField"
Falls Du über SQL eine Massenübernahme von Daten machen musst, dann kannst DU den Generator auch in die SQL einfügen:

INSERT INTO Tabelle VALUES (Gen_ID(Generatorname,1),Spalte1, SPalte2,..)

2. Hol Dir den Generator ID über ne SQL:
Select Gen_ID(Generatorname,1) AS ID from rdb§database;

die Tabelle rdb$Database existiert in jeder IB/FB DB und beinhaltet immer nur einen Datensatz.

3. Das ganze über SP machen, wobei das etwas Schreibarbeit bedeutet:

CREATE PROCEDURE InsertDATA(Wert1 Typ1, Wert2 Typ2,...)
AS
BEGIN
INSERT INTO Tabelle VALUES (Gen_ID(GeneratorName,1), Wert1, Wert2,...)
END^

Grüße
Lemmy
  Mit Zitat antworten Zitat