Thema: Delphi GUID als Index?

Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#1

GUID als Index?

  Alt 9. Mär 2004, 07:44
Hai,

ich schreibe gerade an einem kleinen Programm. Dieses besteht aus einer lokalen DB und einem DB-Server.

Neue Daten werden immer lokal erfasst. Über eine Exportfunktion können die neuen Daten nun zum Server übertragen werden und über einen Import können die Einträge der anderen Benutzer in die lokale Datenbank eingetragen werden.

Jetzt stellt sich mir die Frage wie ich am besten die IDs vergebe. Einfach hochzählen geht ja nicht. Dann habe ich ja doppelte IDs.

Mir sind bis jetzt zwei Methoden eingefallen.

a) - Als ID wird eine GUID verwendet
b) - Ich erzeuge die ID aus der Benutzernummer und einem Hochgezähltenwert. z.B:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 gesamt_id : INT64;
 datensatz_id,
 user_id : LongInt;
begin
  user_id := 10000;
  datensatz_id := 4;
  gesamt_id := (user_id SHL 16) + datensatz_id;
  Edit1.Text := IntToStr (gesamt_id); // Das ist die gesamt ID
  Label1.Caption := IntToStr (gesamt_id SHR 16); // Herausrechnen der user_id
  Label2.Caption := IntToStr (gesamt_id AND $FFFF); // Herausrechnen der datensatz_id
end;
Was ist nun der beste Weg?
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat