Einzelnen Beitrag anzeigen

Albi

Registriert seit: 4. Mai 2003
Ort: Berlin
458 Beiträge
 
Delphi 7 Professional
 
#7

Re: ID automatisch einfügen und gleich anzeigen, wie?[interb

  Alt 24. Dez 2004, 11:44
Hallo Plautzer,

mach es dir doch nicht so kompliziert. Ich gehe jetzt mal davon aus, das dein Feld "NR" der Primary Key ist. Also hast auch sicherlich einen Insert & Update Trigger sowie einen Generator für dieses Feld angelegt.

Dann brauchst Du doch nur noch

SQL-Code:
Create Procedure test ()
Returns (
  oID Integer)
AS
Begin
  Insert Into DB (NR)
  values (Gen_ID(gen_ID_Haus,1))
end
auszuführen und der DS wird unter der nächsten freien ID o. Nr gespeichert. Es kann natürlich Probleme geben, wenn du in der Table Felder definiert hast die nicht NULL dein dürfen, dann funzt es so nicht.

Aber so ganz verstehe ich nicht, was du berechnen willst. Du suchst er den größten Wert in Nr (das ist klar, wäre das gleich wie gen_ID(Gen_haus_ID,0)).

Dein Wert CurValue ist der gleiche wie Maxvalue. Also rechnet Du Cur-Max = 0 und dann +1. Das geht nicht, da die Nr bereist vohanden ist.

Versuche mal den folgende Code und du wirst feststellen, das das dein letzte verwendete bzw. die nächste freie ID ist.

Select gen_ID(Gen_ID_haus,0 bzw. 1) from RDB$Database
  Mit Zitat antworten Zitat