有點令人困惑的標題,但我會盡量在此澄清。當使用<cfscript>
內的查詢對象,你必須在表單中的一些SQL:SQL查詢中的單引號ColdFusion組件中的cfscript內部的查詢對象
SELECT city + ', ' + state + ' ' + zip as Address2
FROM users WHERE user_id = :userid
的ColdFusion會報錯了。 :userid
是我使用addParam
添加的參數,當我刪除狀態和zip之間的' '
時,查詢完美工作。出於某種原因,添加該空間會導致查詢對象出現重擊,並且在符號附近給我提供的語法不正確。
此查詢也工作正常,當我只使用<cfquery>
,但我想在<cfscript>
中使用它。有任何想法嗎?這是一個錯誤?或者我錯過了什麼?
編輯:我正在使用Coldfusion 9,MS SQL 2005,這是使用cfscript語法在CFC內完成的。像這樣:
component
{
public function getAgent(member_id)
{
qryAgent = new query(dataSource="Members");
qryAgent.setName("get_agent");
qryAgent.addParam(name="memberid",value=member_id,cfsqltype="CF_SQL_INTEGER");
result = qryAgent.execute(sql="SELECT FirstName, LastName, FirstName + ' ' + LastName as FullName FROM Member m WHERE m.member_id = :memberid");
return result.getResult();
}
}
只是一個猜測,但是你的查詢在單引號包圍的字符串中,要麼是轉義內部引號,要麼將外引號改爲雙引號? – BennyB 2012-04-12 15:46:26
這三列是同一類型的嗎?所有的char或varchar()? – 2012-04-12 15:56:41
是的。再次,當我刪除+'',每一個完美的作品。 – derickito 2012-04-12 15:59:09