我已經展示瞭如何使用Application.cfc而不是使用Application.cfm - 這很好,我喜歡學習新東西。然而,在我做出改變後,我無法弄清楚如何讓DSN正常工作。在我使用Application.cfm文件中的一組DSN
之前。Application.cfc設置DSN並調用DSN
<cfparam name="DSN" default="">
<cfset DSN = "krl" />
並把它稱爲在這裏:
<CFQUERY NAME="Inital" DATASOURCE="#DSN#">
SELECT Website_Name
FROM InitalizationData
</CFQUERY>
現在設置它喜歡:
component {
this.name = "app";
this.Sessionmanagement = true;
this.datasource = "krl";
public void function onSessionStart() {
// initialize cart
session.cart = [];
}
}
我怎麼叫出來在我的查詢?
我以爲你只是以同樣的方式調用它。 'datasource =「krl」'你的例子。當你嘗試時發生了什麼?我想如果你只定義一個'datasource',那麼你甚至不必在'cfquery'標籤中指定''.this.datasource'使它成爲你的應用程序的默認值。 –
在CF 9中,您使用this.datasource設置默認數據源,就像您一樣。現在您的查詢不需要指定數據源。 –
*我如何在我的查詢中調用它?*您不知道。建立默認數據源的目的是爲了避免在每個cfquery中指定DSN名稱;-)如前所述,您應該省略cfquery中的「datasource」屬性,應用程序將自動使用默認的「this.datasource」 。 (注意,這個範圍在Application.cfc組件之外是不可訪問的)。(http://stackoverflow.com/a/23796613/104223)。) – Leigh