実行時にpublic static ResultSet ExecuteSQLQuery(String myQuery)
というメソッドを作成しました。実行されたクエリをResultSetから取得する必要があります。Java ResultSetから実行されたクエリを取得する方法はありますか?
実行されたクエリをResultSetから取得することは可能でしょうか?
実行時にpublic static ResultSet ExecuteSQLQuery(String myQuery)
というメソッドを作成しました。実行されたクエリをResultSetから取得する必要があります。Java ResultSetから実行されたクエリを取得する方法はありますか?
実行されたクエリをResultSetから取得することは可能でしょうか?
要約:いいえです。
ResultSetからgetStatement
を使用することができます。一部のJDBCドライバは、ステートメントのtoString
メソッドでクエリを公開することがありますが、このような場合でも、依存する必要はありません。
クエリを保存しておき、後で使用する場合は、そのままにしておく必要があります。
クエリが含まれたResultSetの新しいタイプを作成して、それを返すことができます:
public class ResultSetWithQuery extends ResultSet {
private String query
...
}
public static ResultSetWithQuery ExecuteSQLQuery(String myQuery);
Adam、ありがとう、私はいくつかのケースで実行時に複数のresultSetsを使用している{パブリック静的HashTable
これはうまくいくかもしれません。あなたは、ResultSetがhasCodeとequalsを正しく実装していることを確認する必要があります。または、カスタムオブジェクトの結果を含むクエリを返すこともできます。私はそれを示す答えを編集しました。 – Adam
しかし...あなたはメソッドにクエリを渡しています。どうしたの? – null
私はクエリジェネレータを使用しているので、クエリの内容はわかりません。 私のアプリケーションで2つのステップ:クエリは、いくつかのデータを埋めるために使用され、その後、結果セットでのみ可視性を持つ動的検索ツールになります。 –
それを修正してください。これはちょっとした設計上の問題です。 – EJP