Per Checkbox SQL Statement

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Per Checkbox SQL Statement

    Guten Abend,

    wollte mal allgemein Fragen, wie man ein SQL Statement per Checkboxen modifizieren kann.
    Konkret sieht das so aus, dass ich ein Select Befehl habe, und via Checkboxen Bedingungen stelle.
    Gedacht habe ich mir etwa sowas (Pseudocode):

    sql = " Select * from arbeit"
    if checkbox_anwesend.isSelected{
    sql += "Where anwesend = true"
    }


    ansich ja okay. Ich konkateniere einfach das eigentliche Statement mit den where-Klauseln.

    Aaaaber: was ist mit der Reihenfolge?
    woher weiß ich, dass beim ersten Haken eine "where" dazu kommt und beim 2. zb ein "AND" ?

    Hoffe ihr versteht mich?! :)


    Danke

    //edit:
    achso, es würde sich um java handeln, falls das jemandem die Hilfe erleichtert

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von kingele ()

  • kingele schrieb:

    Ich konkateniere einfach das eigentliche Statement mit den where-Klauseln.

    Naja, das ist auf jeden Fall ein Java Thema. Du musst in deiner Programmiersprache einen String zusammenbauen und diesen an den SQL Socket senden.

    Zu deinem AND und WHERE Problem.
    Ich würde dir empfehlen alle Einschränkungen in einem Array zu sammeln und am Ende mit einer Join Methode wieder zusammenzufügen.
    Siehe raw.jpevans.com/software/javas…s/javas/lang/Strings.html

    Quellcode

    1. String[] x = {"a = b", "b = a"};
    2. String y = " WHERE " . x.join(" AND ");


    Das selbe benötigst du bei Join-Tabellen, Join-Bedingungen, ...
  • Also mit dem ganzen Javakram hab ich eher nicht sone Probleme.
    Mir ging es halt eher um das Theoretische, wie ich bei zB. 5 Checkboxen den Code generiere, wenn 3 davon aktiv sind.

    Leider bringt mich deine Arraytheorie auch nicht so wirklich weiter. könntest du das vielleicht näher erleutern?


    Danke
  • kingele schrieb:

    Also mit dem ganzen Javakram hab ich eher nicht sone Probleme.
    Mir ging es halt eher um das Theoretische, wie ich bei zB. 5 Checkboxen den Code generiere, wenn 3 davon aktiv sind.

    Leider bringt mich deine Arraytheorie auch nicht so wirklich weiter. könntest du das vielleicht näher erleutern?


    Danke


    Ich denke mal, D0nut möchte dir vermitteln dass du dass Array je nach ausgewählter checkbox erweiterst :)
    So bastelst du dir halt den SQL-String zusammen.
  • Okay,
    ich verstehe.
    Aber worin liegt der Unterschied zwischen null und false bei einer Checkbox?
    Die Dinger sollen ja optional bedienbar sein.

    Sorry für das späte antworten

    //edit: mhh.. ich sitzt zwar gerade nicht davor, aber ich kann doch erstmal die Variable mit null initialisieren und dann sagen, dass er sie auf true oder false setzen soll. falls er am ende immernoch null ist, soll die checkbox garnicht erst aufgenommen werden...

    //edit: nein, das ergibt kein Sinn ... ;)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von kingele ()

  • Hey D0nut,
    mal abgesehen vom eigentlichen Problem, welches ich durch eine Umstrukturierung gelöst habe:
    wer setzt eine Checkbox zuerst auf true und dann auf false?
    Wenn ich eine Checkbox nicht aktiviert haben will, lasse ich sie einfach in ihrem Normalzustand.

    Ich hatte auch zuerst überlegt einfach eine On-Fokus Event "drauf" zu legen, aber das hätte ja das eigentliche Problem nicht gelöst.

    Oder verstehe ich dich gerade nicht?
  • Naja, besteht denn überhaupt noch ein Problem?
    Ich wollte nur auf deine Frage zum Unterschied zwischen null und false eingehen. Und auch auf die Unterscheidung zwischen 3 Werten.
    "erstmal die Variable mit null initialisieren und dann sagen, dass er sie auf true oder false setzen soll"

    Wie gesagt, wenn die Checkbox nicht angehakt wird, dann wird gar kein Value übertragen... als wenn das Feld nicht existieren würde.
  • Hallo D0nut.

    erstmal Danke fürs Antworten. Ich habe schon verstanden, worauf du hinaus wolltest.
    Ich wollte nur gucken, ob ichs verstanden habe, weil in den meisten Fällen ist Null = false, oder?
    wie gesagt, wenn ich eine Checkbox auf false setzen will, belasse ich sie doch im "Urzustand" (also ohne Haken) und setze sie nicht erstmal auf True und dann wieder auf false.


    Problem ist eigentlich gelöst. ich habe einfach die optionalen Felder zu Pflichfeldern gemacht ;)


    Danke