Nächsten Index abrufen

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
Antworten
MrSpock
Beiträge: 8
Registriert: So 28. Feb 2010, 18:30

Nächsten Index abrufen

Beitrag von MrSpock »

Hallo,

unter Delphi mit FIBPlus habe ich die Methode Gen_id des Database Objects aufrufen können, um den nächsten Index generieren zu lassen, z.B:

Code: Alles auswählen

FDBAuftragl.Gen_Id('GEN_ANR_ID', 1);
Wie komme ich unter Lazarus mit IBConnection an die nächste ID?

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Nächsten Index abrufen

Beitrag von mse »

Code: Alles auswählen

select gen_id(GEN_ANR_ID,1) as res from RDB$DATABASE;
bringt die nächste Generator Nummer im Feld "res". Kann z.B. mit TSQLQuery abgefragt werden.

MrSpock
Beiträge: 8
Registriert: So 28. Feb 2010, 18:30

Re: Nächsten Index abrufen

Beitrag von MrSpock »

Danke. Das habe ich gesucht.

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Nächsten Index abrufen

Beitrag von mse »

Eine Alternative ist die MSEgui Komponente tsequencelink.

MrSpock
Beiträge: 8
Registriert: So 28. Feb 2010, 18:30

Re: Nächsten Index abrufen

Beitrag von MrSpock »

Lässt diese sich auch in Lazarus installieren oder benötige ich dazu die MSEIde?

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Nächsten Index abrufen

Beitrag von mse »

Direkt installieren lässt sie sich nicht, aber man könnte natürlich den code für eine entsprechende Lazarus-Komponente verwenden.

Martin

MrSpock
Beiträge: 8
Registriert: So 28. Feb 2010, 18:30

Re: Nächsten Index abrufen

Beitrag von MrSpock »

Hallo Martin,

danke für die Alternative. Für mein aktuelles Programm, welches ich von Delphi übernommen habe und jetzt eben auch auf dem Mac nativ laufen lassen möchte, habe ich jetzt die obige Lösung genommen. Funktioniert einwandfrei.

Antworten