2012-05-03 50 views
1

我有一个小问题,我只是不明白,什么问题,我如何解决它,我有一个coldfusion变量,例如#account_code#,首先,这个代码看起来像这样:100.001.001(有一堆他们的cource),我有一些值为这个变量,如sum(nettotal)和cfquery我这#account_code#分组,我想要的是设置这些代码的列表,因此我定义列表,例如<cfset code_list='100.001.001,100.001.002'>和在查询中:account_code in (#code_list#)我也试过这一个account_code in ('#code_list#'),但它给出了错误,它说'.001'附近的语法错误。据我了解,我需要以某种方式替换这些点,并且在没有它们的情况下定义代码ID。谢谢大家的帮助!我真的很喜欢它!定义分组项目的ID列表

回答

3

如果我明白你的问题是真的如何正确使用SQL IN子句。

IN子句的SQL取值的列表,如果这些值是数字,他们并不需要被引用,但你的代码串,所以需要加引号

select * from tbl 
where id in ('100.001.001','100.001.002') 

ColdFusion中的每个值要做到这一点正确的方法是使用< cfqueryparam>与列表=真

<cfset code_list='100.001.001,100.001.002'> 
<cfquery name="qSomething" ...> 
select * from tbl 
where id in (
    <cfqueryparam list="true" 
    value="#code_list#" 
    cfsqltype="cf_sql_varchar" /> 
) 
</cfquery> 

这将打开你的名单分成多个参数查询,如果你的code_list实际上,传入的表格或URL变量帮助保护您免受SQL注入攻击ttacks。

+0

是的:)正好!它帮助))非常感谢你! –

相关问题