Zum Hauptinhalt gehen

ContentSelect und XML-Feld

Kommentare

9 Kommentare

  • Zendesk API User
    Author: Peter_Jodeleit - 4/22/2012 14:17

    XML-Felder werden als Text gespeichert. Für den gewünschten Einsatzzweck wäre ein numerischer Typ besser gewesen. Textfelder können mit LIKE abgefragt werden.

    0
  • Zendesk API User
    Author: ACordes - 4/23/2012 8:26

    Am liebsten wäre mir ein Boolean gewesen, aber ein solches Feld konnte ich weder auf RADIOBUTTON, noch auf COMBOBOX oder SELECT mappen.

    Wenn es diese Möglichkeit gäbe, wäre sie mir schon lieber, als für ein einfaches an/aus einen XML-Wust in der Datenbank zu haben.

    0
  • Zendesk API User
    Author: broszeit - 4/23/2012 9:20

    Hallo,

    ein Boolean kann man mit einem CMS_INPUT_TOGGLE umsetzen. Damit wäre der Fall dann gut umzusetzen. Oder gibt es eine unbedingte Notwendigkeit eine Combobox/Select/Radiobutton zu verwenden?

    Viele Grüße

    Rouven

    0
  • Zendesk API User
    Author: ACordes - 4/23/2012 9:44

    Nein, eine Notwendigkeit dafür gab es nicht. Nur Unwissenheit. Aber ein CMS_INPUT_TOGGLE ist genau das, was ich brauche, vielen Dank!

    0
  • Zendesk API User
    Author: Prinzessin - 12/4/2012 8:06

    Hallo, ich habe auch so ein Problem und möchte mit contentSelect dieses GUI-Element auslesen:

    <CMS_INPUT_COMBOBOX name="cs_kompetenz" sortOrder="ascending" useLanguages="no">

        <CMS_INCLUDE_OPTIONS type="database">

          <LABELS>

            <LABEL lang="*">#item.Name + " [" + #item.SysPk + "]"</LABEL>

          </LABELS>

          <TABLE>view.t_pdb_kompetenzen</TABLE>

        </CMS_INCLUDE_OPTIONS>

        <LANGINFOS>

          <LANGINFO lang="DE" label="Kompetenz" description="Please choose."/>

        </LANGINFOS>

      </CMS_INPUT_COMBOBOX>

    In diesem Fall ist es nicht nur true / false, sondern das Feld cs_kompetenz beinhaltet jeweils einen Foreign Key auf eine andere Tabelle eines Datenbankschemas, z. B. 1, 2, 28, 14, etc...

    Wenn ich nunt mit LIKE abfrage:

    <QUERY entityType="kompetenzen">

        <FILTERPARAM parameter="kompetenz_id" datatype="java.lang.String" value="1"/>

        <LIKE attribute="fk_kompetenz" parameter="kompetenz_id"/>

    </QUERY>

    ... erhalte ich aber nicht nur den Datensatz mit der genau passenden ID "1", sondern auch alle die ähnlich sind, z. B. "12", "14", "21" - also alle Sätze, die eine 1 in der ID enthalten.

    Wie lässt sich das Problem lösen, damit ich wirklich nur den Datensatz bekomme, der identisch mit der gewünschten ID ist und nicht nur "ähnlich"?

    0
  • Zendesk API User
    Author: feddersen - 12/4/2012 8:29

    LIKE ist in diesem Fall nicht richtig, sie sollten folgendes verwenden:

    <EQ attribute="ATTRIBUT" parameter="BEZEICHNER" datatype="DATENTYP" value="WERT" />

    Siehe auch http://www.e-spirit.com/odfs42/de/vorlagenentwicklung/vorlagensyntax/funktionen/im_header/contentselect/contentselect.html?community

    0
  • Zendesk API User
    Author: Prinzessin - 12/4/2012 9:43

    Hallo,

    ich habe es nun auf diese Weisen versucht:

    1. Abfrage in Datenschema:

    <QUERY entityType="kompetenzen">

        <FILTERPARAM parameter="kompetenz_id" datatype="java.lang.String" value="1"/>

        <EQ attribute="fk_kompetenz" parameter="kompetenz_id"/>

    </QUERY>

    --> Funktioniert nicht; Error code: 20000; Caused by: java.sql.SQLSyntaxErrorException: Comparisons between 'CLOB (UCS_BASIC)' and 'CLOB (UCS_BASIC)' are not supported. Types must be comparable. String types must also have matching collation. If collation does not match, a possible solution is to cast operands to force them to the default collation (e.g. SELECT tablename FROM sys.systables WHERE CAST(tablename AS VARCHAR(128)) = 'T1')

    2. Funktion im Header:

    <CMS_FUNCTION name="contentSelect" resultname="fr_kompetenz">

            <CMS_PARAM  name="schema" value="further_content" />

            <CMS_VALUE_PARAM name="kompetenz_id" value="1" />

                   

            <QUERY entityType="kompetenzen">

                <FILTERPARAM parameter="kompetenz_id" datatype="java.lang.Integer" value="1" />

                <EQ attribute="fk_kompetenz" parameter="kompetenz_id" datatype="java.lang.Integer" value="1"/>

            </QUERY>

        </CMS_FUNCTION>

    Ich dachte, ich versuch es mal mit Integer - allerdings gibt es kein Ergebnis.

    0
  • Zendesk API User
    Author: feddersen - 12/4/2012 9:51

    Die Foreign_Keys scheinen in einem Feld vom Typ CLOB gespeichert zu sein? Erscheint mir etwas merkwürdig.

    0
  • Zendesk API User
    Author: Prinzessin - 12/4/2012 9:56

    ich arbeite mit der Version 5.0 - hat sich hier etwas geändert?

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.