Einzelnen Beitrag anzeigen

Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Bitweise Prüfung eines Int

  Alt 20. Mär 2008, 10:12
Zitat von marabu:
Du hast nicht wirklich 64 Choices per Question?
Nein. Es wird viele Fragen geben, und ich werde für jede einzelne Frage so eine Nachschlagtabelle zimmern müssen. Mehr als 6-8 Records wird es wohl kaum geben.

Zitat von marabu:
Wozu ein CHECK?
Ich muss ja, wenn ich die ausgewählten Antworten laden will, irgendwie leicht rausfinden, ob eine Antwort gecheckt ist oder nicht. Am liebsten mit einem SQL Befehl...

Ich habe mittlerweilen deine Idee umgesetzt, also dass ich nur den Exponenten wähle, und das klappt hervorragend... Und mit folgendem Select kriege ich dann auch gleich in einem Ruck alle Antworten zurück, die für eine Frage möglich sind, unter Angabe ob die Antwort gecheckt ist oder nicht. Damit wird eine Darstellung z.B. in einer CheckedListBox zum Kinderspiel (ich habe mich dabei an deine Tabellenstruktur gehalten wie du sie im Beispiel angegeben hast):

SQL-Code:
select q.Id, a.Txt
  ip.InfosPersonellesId, me.Description
from
  Questions q
right outer join
  Answers a on (Power(2, a.SEQ) & q.ANS_CODE) = Power(2, a.SEQ) and q.Id = @Id
order by
  a.Txt
Dies liefert mir für die Frage @Id alle Antwortmöglichkeiten. Ist die Antwort gecheckt, so ist die q.Id Spalte nicht null. Ist sie nicht gecheckt, dann NULL.

Vielleicht hilft der Join ja mal einem hier bei einem analogem Problem.

Danke Achim..

EDIT: Fehler im Select behoben...
  Mit Zitat antworten Zitat