Domanda

Il seguente funziona bene in CFMX 7 e CF8, e mi piacerebbe pensare CF9 così:

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

Questo genera una dichiarazione utilizzando un driver JDBC, esegue una query contro di esso, metterlo in un gruppo di risultati Java, e quindi coldfusion.sql.QueryTable viene creata un'istanza, passato l'oggetto resulset Java, e quindi queryTable.FirstTable () viene chiamato , che restituisce un gruppo di risultati ColdFusion reale (per cfloop e simili).

Il problema viene fornito con una differenza di implementazione di Railo. L'esecuzione di questo codice nella Railo restituisce il seguente errore:. Nessun costruttore di corrispondenza per coldfusion.sql.QueryTable (org.sqlite.RS) trovati

ho scaricato l'oggetto Java Railo, e non vedo init () tra i metodi. Mi sto perdendo qualcosa di semplice? Mi piacerebbe ottenere questo lavoro in Railo pure.

Si prega di notare: sto facendo una connessione senza DSN a un db SQLite. Capisco come impostare un DataSource CF. Il mio unico incidente di percorso a questo punto sta facendo la traduzione da un risultato Java insieme a una query Railo.

È stato utile?

Soluzione

Guardando il codice sorgente Railo, vedo che railo.runtime.type.QueryImpl potrebbe soddisfare le vostre esigenze. Implementa railo.runtime.type.Query e accetta un ResultSet nel suo costruttore, ma non sembra per implementare QueryTable.

Se questo è il classe giusta, ti consigliamo di passare in un ResultSet e una stringa per il nome della query, in quanto non dispone di un costruttore che richiede solo un ResultSet.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top