具有多个id的ColdFusion 9 CFScript查询

时间:2011-12-05 20:42:18

标签: coldfusion coldfusion-9

如何使用CFScript进行入门值列表。如果我传入一个id但下面有什么工作可以传递多个id?

// Get Modules By IDs
function getModulesByIDs(string dsn,required numeric pIDS) {
     // Setup a variable for the Query Result
    var qResult = '';
    // Setup the Query variable
    var q= new query();
    // Add Parameter 
    q.addParam(name="ID", value=arguments.pIDS, cfsqltype="CF_SQL_INTEGER");
    // Create the SQL String
    var sqlString="
            SELECT    ROLEID,
                      ROLENAME,
                      NAME,
                      MODULENAME
            FROM      MODULEROLE
            WHERE     
                      MODULEIDS IN :ID
        ";
    q.setdatasource(arguments.pDsn);
    q.setsql(sqlString);
    qResult=q.execute().getresult();
    return qResult;  
}

1 个答案:

答案 0 :(得分:7)

使用list属性指示value包含多个id并添加括号以构造正确的IN(..)子句。

q.addParam(name="ID", value=arguments.pIDS, cfsqltype="CF_SQL_INTEGER", list="true");
...
var sqlString="... WHERE MODULEIDS IN (:ID )";