Die Sache mit Rücken, Brust und dem Knie

Es gibt als Softwareentwickler immer wieder Situationen, in denen man den sprichwörtlichen Weg

vom Rücken durch die Brust ins Knie

nehmen muss, um ans Ziel zu kommen.

Ein Beispiel dafür sind SQL Abfragen, die die „FOR XML'“ Anweisung nutzen, um die selektierten Daten als XML-Konstrukt auszugeben. Das Problem ist in diesem Fall, das die Ergebnisspalte den Namen „XML_F52E2B61-18A1-11D1-B105-00805F49916B“ trägt. Versucht man jedoch, diese Spalte auf die üblichen Wege mit ColdFusion anzusprechen, sprich mittels

<cfoutput query="meinQuer">#XML_F52E2B61-18A1-11D1-B105-00805F49916B# </cfoutput> 

oder

<cfloop query="meinQuery">#XML_F52E2B61-18A1-11D1-B105-00805F49916B#</cfloop>

hagelt es eine hässliche Fehlermeldung, da die Bindestriche im Spaltennamen anscheinend als Minus interpretiert werden. Einziger Weg, doch noch an Ziel zu kommen, ist folgende, Methode

<cfoutput>#meinQuery["XML_F52E2B61-18A1-11D1-B105-00805F49916B"][1]#</cfoutput> 

beziehungsweise

<cfloop>#meinQuery["XML_F52E2B61-18A1-11D1-B105-00805F49916B"][meinQuery.currentRow]#</cfloop>

Bei dieser Methode wird in dem ersten Klammerpaar nach dem Namen des Query-Objektes der Name der Spalte, auf die man zugreifen möchte, in Anführungszeichen angegeben. Im zweiten Klammerpaar wird die Nummer der gewünschten Zeile angegeben.

Da diese Möglichkeit in der offiziellen Doku von Adobe nicht erwähnt oder zumindest sehr gut versteckt ist, kennt sie auch nicht zwangsläufig jeder ColdFusion-Entwickler und ich bin auch erst nach langem Googeln darauf gestoßen.

Aber wie heißt es so schön

Wer keinen langen Atem hat oder nicht improvisieren kann, ist in diesem Beruf falsch!

😎

CC BY-SA 4.0 Die Sache mit Rücken, Brust und dem Knie von Heiko Adams ist lizenziert unter Creative Commons Namensnennung-Weitergabe unter gleichen Bedingungen 4.0 international.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.