Bonjour à tous,
dans mon projet j'uttilises dbexpress & Interbase en local, ca marche très bien.

J'ai crée des champs auto incrémenté avec IBexpert(Un trigger et un Generator), cela fonctionne bien.
le champ en question est un id unique défini en clef primaire.

Après une insertion, IB génère bien l'id, mais je n'ai aucune idée de comment faire pour le récupérer ? connaissant le nom du generator ? par SQL ou y'a t'il une fonction permettant cela ?

J'ai essayé avec une procedure stockée du style :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
CREATE PROCEDURE LAST_INSERTED_ID
RETURNS (
    LAST_INSERTED INTEGER)
AS
begin
  LAST_INSERTED = gen_id(gen_utilisateurs_id,1);
end
Puis j'ai essayé, grâce à un TSQLStoredProcedure, de récupérer cette valeur, sans succès :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
DataModule1.SQLStoredProc1.Open;
last_insert_id := DataModule1.SQLStoredProc1.Fields[0].AsInteger;
ShowMessage('Id généré : '+IntToStr(last_insert_id));
Merci à vous


Fred