Firebird - auf bereits vorhanden Datensatz prüfen

Für Themen zu Datenbanken und Zugriff auf diese. Auch für Datenbankkomponenten.
and4more
Beiträge: 207
Registriert: Do 15. Nov 2012, 19:13
OS, Lazarus, FPC: Windows 10, Manjaro Linux, Lazarus 1.6.4 (32/64 Bit)
CPU-Target: 32 Bit / 64 Bit

Re: Firebird - auf bereits vorhanden Datensatz prüfen

Beitrag von and4more »

...vielen Dank. Hatte mir zu diesem Thema auch schon angeschaut, aber noch nicht so ganz verstanden, glaube ich. So wie ich es interpretiere wird eine zusätzliche Tabelle mit den GUID's der zugreifenden Rechner angelegt (mauell?, automatisiert?), wobei die GUID's als Primärkex dienen und in den 'Arbeitstabellen' als FOREIGN-Key auftauchen?
Lazarus 1.6.4 32-Bit + 64-Bit, Windows 10 64-Bit, Manjaro Linux 64-Bit

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: Firebird - auf bereits vorhanden Datensatz prüfen

Beitrag von mse »

Für jeden neuen record wird ein GUID-Wert erzeugt welcher dann als Primärindex-Wert verwendet wird. Der GUID-Wert kann mehr oder weniger zufällig sein, wobei Kollisionen verhindert werden müssen. Die Funktion CreateGUID() erzeugt z.B. einen GUID-Wert welcher hoffentlich einmalig ist. ;-)

and4more
Beiträge: 207
Registriert: Do 15. Nov 2012, 19:13
OS, Lazarus, FPC: Windows 10, Manjaro Linux, Lazarus 1.6.4 (32/64 Bit)
CPU-Target: 32 Bit / 64 Bit

Re: Firebird - auf bereits vorhanden Datensatz prüfen

Beitrag von and4more »

...ist dieser Wert dann fix in der Datenbank abgelegt oder nur temporär zur Laufzeit vorhanden?
Lazarus 1.6.4 32-Bit + 64-Bit, Windows 10 64-Bit, Manjaro Linux 64-Bit

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6209
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Firebird - auf bereits vorhanden Datensatz prüfen

Beitrag von af0815 »

Er wird als PK in Tabelle verwendet. Genauso wie jetzt dein PK.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

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: Firebird - auf bereits vorhanden Datensatz prüfen

Beitrag von mse »

and4more hat geschrieben:...ist dieser Wert dann fix in der Datenbank abgelegt oder nur temporär zur Laufzeit vorhanden?

Die Werte werden im Schlüsselfeld gespeichert, gleich wie die Generatorwerte. Bei letzteren sorgt der Generator dafür, dass die Werte innerhalb der Tabelle einmalig sind. Bei GUID's sind Kollisionen ansich schon sehr unwahrscheinlich.

and4more
Beiträge: 207
Registriert: Do 15. Nov 2012, 19:13
OS, Lazarus, FPC: Windows 10, Manjaro Linux, Lazarus 1.6.4 (32/64 Bit)
CPU-Target: 32 Bit / 64 Bit

Re: Firebird - auf bereits vorhanden Datensatz prüfen

Beitrag von and4more »

Vielen Dank für alle Antworten. Leider konnte ich mich nicht früher melden, also sorry für die Zeitverzögerung.
Lazarus 1.6.4 32-Bit + 64-Bit, Windows 10 64-Bit, Manjaro Linux 64-Bit

Antworten