以下在CFMX 7和CF8中工作正常,我也假设CF9:
<!--- 'conn' is a JDBC connection --->
<cfset stat = conn.createStatement() />
<cfset rs = stat.executeQuery(trim(arguments.sql)) />
<!--- convert this Java resultset to a CF query recordset --->
<cfset queryTable = CreateObject("java", "coldfusion.sql.QueryTable")>
<cfset queryTable.init(rs) >
<cfset query = queryTable.FirstTable() />
Run Code Online (Sandbox Code Playgroud)
这将使用JDBC驱动程序创建一个语句,对它执行查询,将其放入java结果集,然后实例化coldfusion.sql.QueryTable,传递Java resulset对象,然后调用queryTable.FirstTable(),返回实际的coldfusion结果集(用于cfloop等).
问题在于Railo的实施有所不同.在Railo中运行此代码会返回以下错误:找不到匹配的coldfusion.sql.QueryTable(org.sqlite.RS)构造函数.
我已经转储了Railo java对象,并且在方法中没有看到init().我错过了一些简单的事吗?我也很想在Railo工作.
请注意:我正在与SQLite数据库建立无DSN连接.我了解如何设置CF数据源.我在这一点上唯一的打嗝是从Java结果集转换为Railo查询.