Frage

Die folgenden Funktionen funktionieren in CFMX 7 und CF8 einwandfrei, und ich würde auch CF9 annehmen:

<!--- '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() />

Dies erstellt eine Anweisung mit einem JDBC -Treiber, führt eine Abfrage dagegen aus, die sie in ein Java -Ergebnis setzt und dann Coldfusion.sql.querytable instanziiert, das Java Resulset -Objekt übergeben und dann abfragen Ein tatsächliches Coldfusion -Ergebnis (für CFLOOP und dergleichen).

Das Problem hat einen Unterschied in der Implementierung von Railos. Ausführen dieses Code in Railo gibt den folgenden Fehler zurück: Kein übereinstimmender Konstruktor für ColdFusion.sql.querytable (org.sqlite.rs) gefunden.

Ich habe das Railo Java -Objekt abgeladen und sehe init () unter den Methoden nicht. Vermisse ich etwas Einfaches? Ich würde es gerne auch in Railo zum Arbeiten bringen.

Bitte beachten Sie: Ich mache eine dsnlose Verbindung zu einer SQLite-DB. Ich verstehe, wie man eine CF -Datenquelle einrichtet. Mein einziger Schluckauf zu diesem Zeitpunkt besteht darin, die Übersetzung von einem Java -Ergebnis auf eine Railo -Abfrage durchzuführen.

War es hilfreich?

Lösung

Wenn ich den Railo -Quellcode betrachte, sehe ich das railo.runtime.type.QueryImpl könnte zu Ihren Bedürfnissen passen. Es implementiert railo.runtime.type.Query und akzeptiert ein Ergebnis in seinem Konstruktor, scheint aber nicht implementiert zu sein QueryTable.

Wenn dies die richtige Klasse ist, möchten Sie ein Ergebnis und eine Zeichenfolge für den Abfragennamen übergeben, da er keinen Konstruktor hat, der nur ein Ergebnis einnimmt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top