web-dev-qa-db-fra.com

Comment convertir une colonne de requête en liste dans ColdFusion

J'essaie de convertir la colonne de requête ColdFusion en liste, quelle est la meilleure façon de le faire?

Je pensais qu'il existe une fonction intégrée qui permet de convertir facilement la colonne d'une requête en liste, s'il y a de quoi s'agit-il?

21
erikvold

Il existe une fonction intégrée pour ce faire: ValueList

<cfset myList = ValueList(query.columnname)>

Comme pour toutes les fonctions de liste, il existe un attribut de délimiteur facultatif.

<cfset myList = ValueList(query.columnname,"|")>

Si vous souhaitez que les valeurs de la liste soient entourées de guillemets doubles, utilisez QuotedValueList.

<cfset myList = QuotedValueList(query.columnname)>
50
ale

Vous pouvez également accéder aux colonnes d'une requête sous forme de tableaux directement sans aucune conversion si cela fonctionne pour ce que vous essayez de faire:

qry.col[1] // col field of first record
qry.col[2] // col field of second record
...

ou

qry["col"][1] // col field of first record
qry["col"][2] // col field of second record

Un objet de requête CF est vraiment un tableau associatif de colonnes ... bizarre mais parfois utile.

3
bpanulla

Et dans un cas comme celui-ci:

<cfset SummaryQuery = Evaluate('getReportData' & summaryName & 'Summary') />
<cfset TypeList = ArrayToList(SummaryQuery[subsectionName & 'Type']) />

vs.

<cfset QueryColumn = SummaryQuery[subsectionName & 'Type'] />
<cfset TypeList = ValueList(QueryColumn) />
0
Dave Babbitt