ColdFusion MX
目 次 > CFML リファレンス > ColdFusion 関数 > QueryAddColumn O

QueryAddColumn

クエリに新しい列を追加し、各行のその列に 1 次元配列の内容を挿入します。すべての列の行数が同じになるように、必要に応じてクエリ列のパディングが行われます。

追加された列の列番号

クエリ関数

QueryAddColumn(query, column-name, array-name)

QueryNewQueryAddRowQuerySetCell

ColdFusion MX:動作の変更 : 無効な名前の列を追加しようとするとエラーが発生します(以前のリリースでは、こうした列を追加することはできましたが、追加後にその列を参照することはできませんでした)。

パラメータ

説明

query

QueryNew で作成したクエリの名前です。

column-name

新しい列の名前です。

array-name

配列の名前です。新しい列にはこの配列の要素が挿入されます。

cfquery タグで取り出したクエリや QueryNew 関数で作成したクエリなどのクエリオブジェクトに列を追加できます。キャッシュされたクエリに対して QueryAddColumn 関数を使用することはできません。

この関数は、Oracle のストアドプロシージャが生成できる出力パラメータの配列からクエリオブジェクトを生成するときに有用です。

<h3>QueryAddColumn の例</h3>
<p>この例では、クエリオブジェクトに 3 つの列を追加し、3 つの配列の内容を挿入します。</p>
<p>その後で、列の内容を表形式で表示します。</p>
<!--- クエリを作成 --->
<cfset myQuery = QueryNew("")>

<!--- 配列を作成 --->
<cfset FastFoodArray = ArrayNew(1)>
<cfset FastFoodArray[1] = "French Fries">
<cfset FastFoodArray[2] = "Hot Dogs">
<cfset FastFoodArray[3] = "Fried Clams">
<cfset FastFoodArray[4] = "Thick Shakes">

<!--- クエリに列を追加 --->
<cfset nColumnNumber = QueryAddColumn(myQuery, "FastFood", FastFoodArray)>
<!--- 2 番めの配列を作成 --->
<cfset FineCuisineArray = ArrayNew(1)>
<cfset FineCuisineArray[1] = "Lobster">
<cfset FineCuisineArray[2] = "Flambe">
<!--- クエリに 2 列めを追加 --->
<cfset nColumnNumber2 = QueryAddColumn(myQuery, "FineCuisine", FineCuisineArray)>

<!--- 3 番めの配列を作成 --->
<cfset HealthFoodArray = ArrayNew(1)>
<cfset HealthFoodArray[1] = "Bean Curd">
<cfset HealthFoodArray[2] = "Yogurt">
<cfset HealthFoodArray[3] = "Tofu">

<!--- クエリに 3 列めを追加 --->
<cfset nColumnNumber3 = QueryAddColumn(myQuery, "HealthFood", HealthFoodArray)>

<table cellspacing = "2" cellpadding = "2" border = "0">
<tr>
  <th align = "left">Fast Food</th>
  <th align = "left">Fine Cuisine</th>
  <th align = "left">Health Food</th>
</tr>
<cfoutput query = "myQuery">
<tr>
  <td>#FastFood#</td>
  <td>#FineCuisine#</td>
  <td>#HealthFood#</td>
</tr>
</cfoutput>
</table>
<p><B>メモ :</B> FineCuisine 配列と HealthFood 配列は要素が少ないため、クエリ内の対応する列には、QueryAddColumn によってパディングが追加されます。</p>

目 次 > CFML リファレンス > ColdFusion 関数 > QueryAddColumn O