QueryNew

説明

空のクエリー (クエリーオブジェクト) を作成します。

戻り値

指定した名前の一連の列を持つ空のクエリー、または列を持たない空のクエリー

カテゴリ

クエリー関数

関数のシンタックス

QueryNew(columnlist [, columntypelist])

履歴

ColdFusion MX 7: columntypelist パラメータが追加されました。

関連項目

QueryAddColumnQueryAddRowQuerySetCell、『ColdFusion アプリケーションの開発』のManaging data types for columns

パラメータ

パラメータ

説明

columnlist

カンマで区切った列名のリスト、または空の文字列を指定します。

columntypelist

(オプション) 列のデータ型を指定する、カンマで区切ったリストです。列に追加したデータがこの型ではない場合、またはデータをこの型に変換できない場合、ColdFusion ではエラーが生成されます。次のデータ型が有効です。

  • Integer: 32 ビットの整数です。

  • BigInt: 64 ビットの整数です。

  • Double: 64 ビットの小数です。

  • Decimal: java.math.BigDecimal で指定される、可変長の小数です。

  • VarChar: 文字列です。

  • Binary: バイト配列です。

  • Bit: ブール値 (1 = true、0 = false) です。

  • Time: 時刻です。

  • Date: 日付です。時刻情報を含めることができます。

使用方法

columnlist パラメータで空の文字列を指定した場合は、QueryAddColumn 関数を使用してクエリーに列を追加します。

columntypelist パラメータはオプションですが、常に使用することをお勧めします。このパラメータを使用しない場合、ColdFusion ではクエリーオブクエリー内のクエリーオブジェクトを使用するときに、データ型を判別する必要があります。データ型を判別するには追加処理が必要であり、ColdFusion がデータ型を正しく推測しない場合、エラーが発生する可能性があります。

ColdFusion 10 での機能強化により、クエリデータを初期化できるようになりました。次の例に示すように、構造体、構造体の配列、または 1 次元または多次元の配列を指定して、クエリを初期化できます。

myQuery1  = queryNew("id,name","Integer,Varchar", {id=1,name="One"}); 
myQuery2  = queryNew("id,name","Integer,Varchar", 
        [ 
                {id=1,name="One"}, 
                {id=2,name="Two"}, 
                {id=3,name="Three"} 
      ]); 
myQuery2  = queryNew("id,name","Integer,Varchar",          [  [1,"One"],  [2,"Two"],  {3,"Three"]        ]);

次の例では、QueryNew 関数を使用して、3 つの列がある空のクエリーを作成します。クエリーの 2 つの行を挿入し、クエリーオブジェクトの内容およびそのメタデータを表示します。

<!--- Create a new three-column query, specifying the column data types ---> 
<cfset myQuery = QueryNew("Name, Time, Advanced", "VarChar, Time, Bit")> 
 
<!--- Make two rows in the query ---> 
<cfset newRow = QueryAddRow(MyQuery, 2)> 
 
<!--- Set the values of the cells in the query ---> 
<cfset temp = QuerySetCell(myQuery, "Name", "The Wonderful World of CMFL", 1)> 
<cfset temp = QuerySetCell(myQuery, "Time", "9:15 AM", 1)> 
<cfset temp = QuerySetCell(myQuery, "Advanced", False, 1)> 
<cfset temp = QuerySetCell(myQuery, "Name", "CFCs for Enterprise 
        Applications", 2)> 
<cfset temp = QuerySetCell(myQuery, "Time", "12:15 PM", 2)> 
<cfset temp = QuerySetCell(myQuery, "Advanced", True, 2)> 
 
<h4>The query object contents</h4> 
<cfoutput query = "myQuery"> 
    #Name# #Time# #Advanced#<br> 
</cfoutput><br> 
<br> 
<h4>Using individual query data values</h4> 
<cfoutput> 
    #MyQuery.name[2]# is at #MyQuery.Time[2]#<br> 
</cfoutput><br> 
<br> 
<h4>The query metadata</h4> 
<cfset querymetadata=getMetaData(myQuery)> 
<cfdump var="#querymetadata#">