Как каждый преобразовывает от набора результатов Java до Запроса ColdFusion в Railo?

Следующее хорошо работает в 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() />

Это создает оператор с помощью драйвера JDBC, выполняет запрос против него, помещая его в набор результатов Java, и затем coldfusion.sql. QueryTable инстанцируют, передал Java resulset объект, и затем queryTable. FirstTable () называют, который возвращает фактический coldfusion набор результатов (для cfloop и т.п.).

Проблема идет с различием в реализации Railo. Выполнение этого кода в Railo возвращает следующую ошибку: Никакой Конструктор соответствия для coldfusion.sql. QueryTable (org.sqlite. RS) найденный.

Я вывел объект Java Railo и не вижу init () среди методов. Я пропускаю что-то простое? Я хотел бы получить эту работу в Railo также.

Пожалуйста, примите во внимание: Я делаю DSN-меньше соединения с дб SQLite. Я понимаю, как настроить источник данных CF. Мое единственное отклонение в этой точке делает перевод от набора результатов Java до запроса Railo.

8
задан Jeromy French 3 March 2013 в 06:01
поделиться

1 ответ

Глядя на исходный код Railo, я вижу, что railo.runtime.type.QueryImpl может соответствовать вашим потребностям. Он реализует railo.runtime.type.Query и принимает ResultSet в своем конструкторе, но, похоже, не реализует QueryTable .

Если это правильный класс, вы захотите передать ResultSet и строку для имени запроса, поскольку у него нет конструктора, который принимает только ResultSet.

5
ответ дан 5 December 2019 в 23:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: