2017-09-27 35 views
0

我在标签模式下正常工作一个CFC:Lucee CFML查询问题

<cfcomponent output="false"> 
<cffunction name=GetCases access="remote" returntype=Any returnformat=JSON> 
<cfquery name="QryCases" datasource=#session.dsn# > 
select id,surname,forename,died,dob,status from tbcases 
</cfquery> 
<cfreturn (QryCases)> 
</cffunction> 
</cfcomponent> 

然而CFSCRIPT版本失败,我只是不能明白为什么:

component 
{ 
function any GetCases() access="remote" returntype="any" returnformat="json" 
{ 

QryCases = Queryexecute(" 
    select id,surname,forename,died,dob,status from tbcases 
     ","",{datasource=session.dsn}); 

return QryCases; 
} 
} 

所以这两个将工作在ACF v2016中很好,但是只有在Lucee v5中有效的脚本。 json的结果是jquery数据表

感谢任何指针。

+0

eturnformat而不是returnformat也许? –

+0

只是利用这个机会分享我不再使用cfc,也不使用cfquery。我使用常规.cfm页面和writeoutput SerializeJSON(qry)中的存储过程。对我来说它更清洁。 –

+0

我假设你为所有的CRUD操作使用存储过程。我认为这是一个有力的论据,因为这是一个最好由数据库处理的工作。感谢分享 –

回答

1

我现在已经解决了这个问题。 第二个参数的Queryexecute不能“” 我改成了{} 和所有工作就好了......

因此,为了帮助别人,这里是最后的代码:

1 component 
2 { 
3 function any GetCases() access="remote" returntype="any" returnformat="json" 
4 { 

5 QryCases = Queryexecute(" 
6 select id,surname,forename,died,dob,status from tbcases 
7 ", {} ,{datasource=session.dsn}); 

8 return QryCases; 
9 } 
10 } 

注意上面的第7行已更改。