Compat CFML Error: The requested class [Query] has not been located in any class resolver

I am trying BoxLang Compat CFML

When I use the syntax the new Query() syntax like this:

function updateVersionID(numeric cacheID="1"){
        var query= new Query();
        var sql  = "update cache_buster set versionID = versionID + 1, UpdatedDt = now() where cacheID = :cacheID ";
        query.setSQL(sql);
        query.addParam(name="cacheID", value = arguments.cacheID, cfsqltype = "cf_sql_integer");
        query.execute();
    
    }

I am getting this error:

The requested class [Query] has not been located in any class resolver.

Does this mean that Compat CFML doesn’t support this type of query syntax?

Thanks,

Randy

We haven’t made the shim CFCs yet like query, ftp, etc. It’s on our list to add to the compat module. Input welcome on these. They are just a class that wraps up the tag and uses attributecollection to call it.

I believe Adobe just removed them completely from 2025.

Yeah, a new Query() has been deprecated for years and Adobe finally removed it in v2025. It is buggy as heck and I raised a bug against it way back in 2016, to which the response was:

Its a valid bug but there is no active development on these CFCs and we recommend to use QueryExecute function. So closing this issue.
Please let us know if you face any issue related to QueryExecute.

So as they never fixed it, at least they have finally removed it!

https://tracker.adobe.com/#/view/CF-4186779

Note that they have removed all the script components which incudes new http(), new mail() etc

As an alternative to the deprecated new Query() and cfscript’s queryexecute, I recommend checking out QB library:

(It works with regular CFML. ColdBox is not required.)

QB makes it a lot easier to construct complex SQL queries. You can also output the generated SQL without executing it (this has helped when troubleshooting issues.)