Hallo!

> habe gerade mitgelesen. An Joachim habe ich die Frage wie er dann bei
einer
> Abfrage aus der DB, die nur die Datens�tze anzeigen soll, bei denen 2
und 8
> aktiviert wurden. Ich frage das weil ich so was �hnliches auch bauen
soll
> und ich mir als L�sung �berlegt habe f�r jede Antwortm�glichkeit eine
Spalte
> zu programmieren und NULL-Werte zulasse. W�re f�r jeden weieren
Hinweis
> dankbar!

Komisch, ich habe z. Z. nur einen Fall, in denen ich nach Bits suchen
muss. Meistens wird der Datensatz eingelesen und die Bits beeinflussen
dann die Anzeige des Datensatzes, oder andere Verhaltensweisen.

In SQL gibt es keine Bittest-Funktionen.

Im SQL-Server habe ich also eine entsprechende "Benutzerdefinierte
Funktion" (ab SQL Server 2000). Das ist der Idealfall, weil alle
M�glichkeiten offen stehen (... where Bit(..., 2) = 1 and Bit(..., 8) =
1).

In Access umschreibe ich die Funktion:

Z. B.
Gesucht werden Datens�tze in denen das 2. und 8. Bit im Feld "Optionen"
gesetzt ist:

Select ... From ...
Where (Optionen mod (2 ^ 3)) > (2 ^ 2)
  And (Optionen mod (2 ^ 9)) > (2 ^ 8)

Da ich alle Abfragen in der Datenbank speichere, kann ich diese dann
auch mit Parametern aufrufen. Der Bittest ist mitunter eine
eigenst�ndige View, so dass ich die Abfrage immer mit herk�mmlichen
Abfragen kombinieren kann:

Select ... from ...
Where  id In (Select id from ...Bittest2)
  And  id In (Select id from ...Bittest8)
  And  ...

Allerdings verwende ich auch einzelne tinyint-Felder, wenn immer wieder
nach den Optionen oder Bits in gro�en Datenmengen gesucht werden soll,
weil dann die Suche �ber einen Index beschleunigt wird (Bit-Felder
k�nnen im SQL Server nicht indiziert werden).

Die Texte zu den Optionen liegen in einer Fremdschl�sseltabelle oder in
einem Array.

F�r jede Option eine eigene Spalte finde ich nicht gut, weil man dann ja
f�r jede neue Option auch eine neue Spalte anlegen muss. Der einfachste
Weg ist ja, alle Optionen in einem Textfeld abzulegen, und dann mit
"like '%option%'" zu suchen. Bei geringen Datenmengen ist das
unproblematisch, die Optionen m�ssen aber eindeutig identifizierbar
sein.

Freundliche Gr��e
Joachim van de Bruck



| [aspdedatabase] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdedatabase/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdedatabase.asp

Antwort per Email an