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"