checkbox in datenbank

hamid

Bekanntes Mitglied
hallo.

wie kann man am besten checkbox informationen in der datenbank abspeichern? kennt jemand gute tutorials im web???die meißten sind nicht so gut...

ich hab 3 checkboxen und ein feld in der DB. wenn ich alle 3 checkboxen anwähle dann gibt es probleme die daten in DB abzuspeichern..

wie kann man das am besten lösen?

danke
 
Man speichert doch keine checkbox. Man speichert den Wert und der ist ein Boolean. Also würde ich in der Datenbanktabelle für die checkbox ein Boolean-feld vorsehen.
 
1 Feld? Dann sehe das so in etwa aus [c]1,0,1[/c]...lass soetwas bleiben, pack nicht mehrere Datensätze in ein Feld. Nimm 3 Felder
 
3 checkboxen... ich würd 3 felder nehmen... und dann mit 1,0 oder true, falsch schalten.
Im Grunde sind ja die Checkboxen unabhängig voneinander zu wählen...

Was anderes wäre bei radioboxen wo immer nur ein wert ausgewählt werden kann.
 
Np ;-) . Notfalls gibts hier noch genug andere, die dir sicher weiterhelfen können.
 
Im Grunde sind ja die Checkboxen unabhängig voneinander zu wählen...


ich hab sowas hier. jede checkbox heisst anders. ist das richtig so? oder müssen alle gleich heissen?

HTML:
<form:checkbox path="KATEGORIEN_EFFIZIENT"/>
    
    Effizienz 
    <form:checkbox path="KATEGORIEN_QUALI"  />
    Qualit&auml;t 
    <form:checkbox path="KATEGORIEN_UMWELT"  />
    Umwelt 
    
    <form:checkbox path="KATEGORIEN_ASI" />
    ASI 
    <form:checkbox path="KATEGORIEN_ORDNUNG" />
    Ordnung<br />
 
Das hört sich eher nach bestimmten Typen an, die Du einem Objekt gibst. Da man anscheinend einem Objekt mehere Typen der gleichen Klasse zuweisen kann, würde ich die dann mittel NM-Relation speichern: Objekt -> NM -> Type

Tabelle Typ
-----------
ID TYP
1 Effizienz
2 Qualit&auml;t
3 Umwelt
4 ASI
5 Ordnung

Tabelle Objekt (oder irgendetwas, was diesen Typen haben soll)
--------------
ID
1
2
3

NM-Tabelle (Object -> Typ)
---------------------------
OBJEKT TYP
1 1
1 2
1 3
2 3
3 1

Du brauchst eventuell noch Logik (Programm oder DB) um das doppelte speichern ein und desselben Typs zu einem Objekt zu verhindern.
 
hi fastjack.

geht das nicht einfacher? ich möchte nur die werte von den checkboxen in die DB speichern. mehr nicht ! ich benutze DERBY DB von Apache.
 
Natürlich kannst Du auch zu jedem Typen true/false speichern. Du hast dann aber eventuell mehr Aufwand, wenn mehr Typen dazukommen, oder welche entfallen.
 
mm..irgendwann fuzt dat net so..bekomme komischerweise auch keine fehlermeldung...

also ich hab in der DB.

4 felder jeweils mit dem smallint

KATEGORIEN_EFFIZIENT SMALLINT,
KATEGORIEN_QUALI SMALLINT,
KATEGORIEN_UMWELT SMALLINT,
KATEGORIEN_ASI SMALLINT,
KATEGORIEN_ORDNUNG SMALLINT,

in meine domain habe ich

4 variablen

jeweils vom typ int mit den settern und getter methoden.


ich weiss nicht wie ich das ganze debuggen soll um meinen fehler heraus zubekommen.


kannst du mir einen tipp geben?

danke
 
mein problem ist die logik...wenn meine db felder den typ smallint haben, ist es doch ok wenn in der logik die varibalen vom typ int sind richtig?
 
In Java machst Du daraus Boolean-Variablen. Beim Einlesen schaust Du einfach, ob eine 0 im Feld ist, dann wird daraus false, bei 1, -1, oder was Du sonst so festlegst für true, machst du true daraus.
Beim Speichern gehst Du einfach andersrum vor.
 
ok danke...glaub es funzt jetzt mit checkbox...das problem war nur das ich in java statt boolean, integer hatte 😛

was muss ich bei radiobuttons beachten um die werte korrekt in der DB zu speichern?
 
Für Radios hast du ein Feld. Jetzt musst du dir halt überlegen, wie du später das ganze wieder idendifzierst. Am elegantesten wäre wohl: du hast eine Tabelle mit Radio-Beschreibungen und zu jede Beschreibung hat eine eigene ID. Dann speicherst du nur die ID im der Auswahl im Feld:

Code:
tabelle antworten:
ID | ANSWER
-------------
1  | JA
2  | NEIN
3  | VLLT

tabelle anytable:
antwort|datum
---------------
1|heute     //verweist dann auf JA
2|gestern  // verweist dann auf NEIN

Ansonsten würde ich im Programm die radio-bezeichner in einer Liste,Array o.ä. ablegen und dann deren indexnummer zur idendifikation nutzen.
 
ist mir wieder zu kompliziert.

kann ich nicht wieder wie bei der checkbox die felder als smallint speichern und in java als boolean....analog zu checkbox
 
was ist daran kompliziert?

Natürlich kannst du es auch so machen, davon rate ich aber ab. Mal abgesehen von Datenbankdesign ist es einfach zu fehleranfällig! Ein SQL ist mal falsch oder jmd hat händisch da gepfuscht und zack steht da mal eine 1 zu viel drin.
 
Denk auch an den Wartungsaufwand bzw. Updateaufwand den Di hast, falls sich an den jetzt "festen" Typen doch mal was ändert.
Persönlich würde ich das lieber handfest mit den Typen machen. Da hast Du jetzt ein wenig Aufwand, dafür kannst Du sie später viel besser warten und in der DB wirds auch übersichtlicher aussehen.
 
Da hast Du jetzt ein wenig Aufwand, dafür kannst Du sie später viel besser warten und in der DB wirds auch übersichtlicher aussehen.

...richtig. Alles was man nur im entferntesten erweitern könnte....mach es variabel! Vllt wirst du es für das jetztige projekt nicht brauchen, aber glaub mir. Es wird das Projekt kommen, wo du alles fest gemacht hast und du wirst es bereuen. Den Fehler hab ich gemacht und jetzt kommt die returkutsche(wohl eher returLKW).
 

Neue Themen


Zurück
Oben