どのようにしてRailoでColdFusionクエリーへのJava結果セットから変換するのですか?

StackOverflow https://stackoverflow.com/questions/2227134

質問

以下は、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()が呼び出されます(のcfloopなどのために)実際のColdFusion結果セットを返す。

問題がRailoの実装の違いが付属しています。 Railoでこのコードを実行すると、次のエラーを返します。coldfusion.sql.QueryTable(org.sqlite.RS)に該当するコンストラクタ見出さを

私はRailoのJavaオブジェクトをダンプしてきた、と方法のうちのinit()が表示されません。私は、単純な何かが足りないのですか?私もRailoでこの作業を取得してみたい。

ご注意:私はSQLiteのDBにDSNレス接続をしています。私はCFのデータソースを設定する方法を理解しています。この時点で私の唯一のしゃっくりがRailoクエリに設定されたJava結果からの翻訳を行っています。

役に立ちましたか?

解決

Railoのソースコードを見ると、私はrailo.runtime.type.QueryImplがあなたのニーズに合うかもしれないことがわかります。それはrailo.runtime.type.Queryを実装し、そのコンストラクタでResultSetを受け付けますが、QueryTableを実装していないようです。

それは右のクラスの場合は、

、あなたはそれが唯一のResultSetを取るコンストラクタを持っていないとして、クエリー名のためのResultSetと文字列を渡したいと思うでしょう。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top