2013年6月6日 星期四

sort query in coldfusion

當我們需要用 coldfusion 查詢資料庫時會使用 cfquery 執行SQL指令
<cfquery name="allEmployee" datasource="myDB">
 Select employee_no,employee_name,employee.duty
 From employee
 Where employee_retired = 'N'
</cfquery>

當然,資料排序可以直接下 SQL 的 ORDER BY 來完成
但是,如果有特殊需求需要在 coldfusion 內(in memory)才排序的話
有兩種方式可以完成:
1、使用 cfquery 對已經存在的 query 再處理
<cfquery name="sortedEmployee" dbtype="query">
 Select *
 From allEmployee
 Order By employee_name ASC
</cfquery>


2、使用query專用指令
<cfset allEmployee.sort(allEmployee.findColumn("employee_name"),true)>
對於第2種用法,可能要非常小心
因為,adobe的 coldfusion 服務器與 Railo 的服務器有不同的使用法
(注意,我測試的adobe coldfusion 是 MX7,可能新的版本有變)
指令Adobe Coldfusion MX7Railo
QueryName.sort(QueryName.findColumn("ColumnName"),true)不可
QueryName.sort(2,true)不可
QueryName.sort("ColumnName",true)不可
QueryName.sort("2",true)不可不可

0 個回應: