2012-05-03 17 views
1

少し質問がありますが、私は理解できません。何が問題なのですか?解決するにはどうすればいいですか?例えば、#account_code#コードは100.001.001(その中にはcourceの束があります)とsum(nettotal)とこの#account_code#でグループ化されたcfqueryのようなこの変数のいくつかの値があります。これらのコードのリストを設定するだけですリスト、たとえば<cfset code_list='100.001.001,100.001.002'>とクエリ:account_code in (#code_list#)私もこの1つを試しましたaccount_code in ('#code_list#')しかし、それはエラーを出す、それは'001。限り、私はこれらのドットを何とか置き換える必要があると理解し、それらなしでコードのIDを定義します。助けてくれてありがとう!私は本当にそれをappretiate!グループ化された項目のIDのリストを定義する

答えて

3

私はあなたの質問が本当にどのように正しくSQL IN句を使用するのか理解しています。

IN句SQLは、それらの値が数値であれば、彼らは引用符で囲む必要はありません、値のリストがかかりますが、あなたのコードは文字列であるので、それぞれの値は、ColdFusionで

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

を引用する必要がありますこれを行うための正しい方法は、これはあなたのクエリで複数のパラメータにあなたのリストをオン

<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> 

真のリストで使用<でcfqueryparam> =で、あなたのcode_listが実際にフォームまたはURL変数によって渡されている場合に役立ちますSQLインジェクションからあなたを守るttacks。

+0

はい:正確に!それは助けた))非常にありがとう! –

関連する問題