AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

GUID als Index?

Ein Thema von Sharky · begonnen am 9. Mär 2004 · letzter Beitrag vom 9. Mär 2004
 
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
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz