Auto-incrémententation avec Firebird
Bonjour
Je veux créer une fonction qui fait auto-increment pour le champ OrderID = (numéro de facture).
J'ai créé un générateur dans Firebird mais j'ai trouvé un problème :
Lorsque je clique sur un nouvel enregistrement et qu'après je clique sur Annuler, il est toujours
incrémenté (même si je clique sur annuler).
J'ai utilisé cette fonction que j'ai trouvée sur ce forum :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| function NewID(Table, code: String): Integer;
begin
with FDQOrder do
begin
Close;
SQL.Clear;
SQL.Add('select max(' + code + ') from ' + 'Orders');
open;
Result := Fields[0].AsInteger + 1;
Close;
end;
end; |
Quand j'appelle la fonction :
newID('Orders', 'OrderID'),
j'ai une erreur :
FDQOrder: field'ORDERID' not found.
J'utilise Delphi Tokyo Firedac Firebird 3.0.
SVP, dites-moi comment régler ce problème ou s'il y a une autre méthode pour générer les numéros ?
Cordialement