[SQL 2005] Binäre Rechenoperationen

meilon

Erfahrenes Mitglied
Hallo!

Ich möchte für meine Webapplikation ein binäres Rechtemanagement verwenden. Kurz eine Einleitung: Es gibt mehrere Rechte und jedes Recht ist eindeutig und die Zahl ist auf der Basis 2. Hier mal 3 Rechte
Code:
FLAG_CHECK_THIS = 1
FLAG_CHECK_THAT = 2
FLAG_DO_THIS = 4
Wenn ein User jetzt den Wert 3 in einem Datenbankfeld für seine Rechte gespeichert hat, dann hat er FLAG_CHECK_THIS und FLAG_CHECK_THAT, wenn er den Wert 4 hat, dann hat er nur FLAG_DO_THIS.

Das weiß ich nun, aber wie kann ich die Datenbank bitten, mir doch freundlicherweise alle Zeilen auszugeben, in denen das Rechtefeld mit den Userrechten "übereinstimmt"?

Grüße
meilon
 
Hallo,

Das weiß ich nun, aber wie kann ich die Datenbank bitten, mir doch freundlicherweise alle Zeilen auszugeben, in denen das Rechtefeld mit den Userrechten "übereinstimmt"?
„Übereinstimmen“ heißt in diesem Fall genau was? Alle Benutzer finden, die ein ganz bestimmtes Recht bzw. eine Menge von Rechten besitzen? Dann müsstest du das entsprechende Feld nur mit der Maske UND-verknüpfen (sollte beim SQL-Server der Operator & sein) und schauen, ob ein Wert ungleich 0 rauskommt.

Grüße,
Matthias
 
Danke für die Info, werde das morgen ausprobieren.

EDIT: Erledigt, nochmal danke für den Tipp!
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück