Sha*_*son 8 java coldfusion jdbc railo cfml
以下在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查询.
看看Railo源代码,我发现它railo.runtime.type.QueryImpl可能符合您的需求.它railo.runtime.type.Query在其构造函数中实现并接受ResultSet,但它似乎没有实现QueryTable.
如果这是正确的类,您将要传递ResultSet和查询名称的字符串,因为它没有只接受ResultSet的构造函数.
| 归档时间: |
|
| 查看次数: |
1576 次 |
| 最近记录: |